我以为我了解 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/