在C#中创建自己的事件,可以通过以下步骤实现:
下面是一个简单的示例:
// 定义事件处理程序委托类型
public delegate void MyEventHandler(object sender, EventArgs e);
// 在类中声明一个事件
public class MyClass
{
public event MyEventHandler MyEvent;
// 在类中触发事件
public void TriggerEvent()
{
MyEvent?.Invoke(this, EventArgs.Empty);
}
}
// 在其他类中订阅事件,并提供事件处理程序
public class MySubscriber
{
public void Subscribe(MyClass myClass)
{
myClass.MyEvent += OnMyEvent;
}
public void Unsubscribe(MyClass myClass)
{
myClass.MyEvent -= OnMyEvent;
}
private void OnMyEvent(object sender, EventArgs e)
{
// 处理事件
}
}
在这个示例中,我们定义了一个名为MyEventHandler
的委托类型,表示事件处理程序的签名。然后在MyClass
类中声明了一个名为MyEvent
的事件,该事件使用MyEventHandler
类型作为事件类型。在TriggerEvent
方法中,我们通过调用MyEvent?.Invoke(this, EventArgs.Empty)
来触发事件。在MySubscriber
类中,我们提供了Subscribe
和Unsubscribe
方法来订阅和取消订阅事件,并提供了OnMyEvent
方法作为事件处理程序。
领取专属 10元无门槛券
手把手带您无忧上云