c# sender在委托中如何使用

   2024-10-05 3430
核心提示:在C#中,可以使用委托来将方法作为参数传递给其他方法,以实现回调和事件处理等功能。在委托中,可以使用sender参数来指示方法的

在C#中,可以使用委托来将方法作为参数传递给其他方法,以实现回调和事件处理等功能。在委托中,可以使用sender参数来指示方法的调用者是谁。

例如,定义一个简单的委托和一个包含该委托的事件:

public delegate void MyEventHandler(object sender, EventArgs e);public class MyClass{    public event MyEventHandler MyEvent;    public void OnMyEvent()    {        MyEvent?.Invoke(this, EventArgs.Empty);    }}

在上面的例子中,定义了一个委托MyEventHandler,然后在MyClass类中定义了一个事件MyEvent,当调用OnMyEvent方法时,会触发MyEvent事件并传递this作为sender参数。

在订阅该事件的地方,可以使用sender参数来获取触发事件的对象:

public class Program{    public static void Main()    {        MyClass myClass = new MyClass();        myClass.MyEvent += MyEventHandlerMethod;                myClass.OnMyEvent();    }    public static void MyEventHandlerMethod(object sender, EventArgs e)    {        MyClass myClass = (MyClass)sender;        Console.WriteLine("Event triggered by: " + myClass.GetType().Name);    }}

在MyEventHandlerMethod方法中,可以使用sender参数将事件的调用者转换为具体的类型,然后进行相关操作。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号