gpt4 book ai didi

c# - 订阅子类(class)的事件?

转载 作者:行者123 更新时间:2023-11-30 17:23:23 24 4
gpt4 key购买 nike

我以为我了解 C# 中的事件。如果您不想直接调用方法而不是为自定义实现留出位置,有时会使用它们。但是什么时候?

程序员 A 编写 A 类,程序员 B 编写 B 类。A 类应该引发 B 类注册并使用react的事件,但 A 类对 B 类用于服务的函数一无所知。

你能给我提供一个简单的例子吗?

最佳答案

public class A
{
private readonly B _B = new B();

public class A()
{
_B.MyEvent += MyEventHandler;
}

private void MyEventHandler(object sender, EventArgs e)
{
// Handle
}
}

public class B
{
public event EventHandler MyEvent;

// Call this when you raise the event so you don't
// need check if MyEvent is null.
private void OnMyEvent()
{
if (MyEvent != null) // If this is null we have no subscribers.
{
MyEvent(this, EventArgs.Empty);
}
}
}

关于c# - 订阅子类(class)的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com