如何在C#中使用和创建用户定义的委托?

MrD*_*ase 0 c# delegates

我在.NET中设计win表单时使用过代理...即拖放按钮,双击,然后填写myButton_click事件.我想了解如何在C#中创建和使用用户定义的委托.

如何在C#中使用和创建用户定义的委托?

Ore*_*ost 8

我建议阅读有关该主题的教程.

基本上,您声明委托类型:

public delegate void MyDelegate(string message);
Run Code Online (Sandbox Code Playgroud)

然后你可以直接分配和调用它:

MyDelegate = SomeFunction;
MyDelegate("Hello, bunny");
Run Code Online (Sandbox Code Playgroud)

或者你创建一个事件:

public event MyDelegate MyEvent;
Run Code Online (Sandbox Code Playgroud)

然后你可以从外面添加一个事件处理程序,如下所示:

SomeObject.MyEvent += SomeFunction;
Run Code Online (Sandbox Code Playgroud)

Visual Studio对此很有帮助.输入+ =后,只需按tab-tab即可为您创建处理程序.

然后,您可以从对象内部触发事件:

if (MyEvent != null) {
    MyEvent("Hello, bunny");
}
Run Code Online (Sandbox Code Playgroud)

这是基本用法.