阅读量:0
在C#中,在泛型事件中,sender参数通常用于指定事件的发送者。sender参数的类型通常是泛型类型的类型参数。以下是一个示例:
public class EventPublisher<T> { public event EventHandler<T> CustomEvent; public void RaiseCustomEvent(T data) { OnCustomEvent(data); } protected virtual void OnCustomEvent(T data) { CustomEvent?.Invoke(this, data); } } public class EventSubscriber { public EventSubscriber() { var publisher = new EventPublisher<int>(); publisher.CustomEvent += OnCustomEvent; publisher.RaiseCustomEvent(10); } private void OnCustomEvent(object sender, int data) { Console.WriteLine($"Received event from {sender}, data: {data}"); } }
在上面的示例中,EventPublisher<T>
类定义了一个泛型事件CustomEvent
,并在RaiseCustomEvent
方法中引发事件。在EventSubscriber
类中,我们创建了一个EventPublisher<int>
实例,并订阅了CustomEvent
事件。在事件处理程序OnCustomEvent
中,我们使用sender
参数来获取事件的发送者,并输出事件的数据。