using System;
namespace DelegateExample
{
// 定义一个委托类型,它表示一个无参数且返回void的方法
public delegate void SimpleDelegate();
class Program
{
static void Main(string[] args)
{
// 实例化委托对象,并将方法绑定到委托
SimpleDelegate myDelegate = new SimpleDelegate(SayHello);
// 通过委托调用方法
myDelegate();
// 使用简化语法实例化委托
SimpleDelegate anotherDelegate = SayGoodbye;
// 通过委托调用方法
anotherDelegate();
}
// 定义一个与委托匹配的方法
static void SayHello()
{
Console.WriteLine("Hello, World!");
}
// 定义另一个与委托匹配的方法
static void SayGoodbye()
{
Console.WriteLine("Goodbye, World!");
}
}
}
定义委托:public delegate void SimpleDelegate(); 定义了一个名为 SimpleDelegate 的委托类型。它表示一个不带参数且返回类型为 void 的方法。
实例化委托:在 Main 方法中,我们创建了两个 SimpleDelegate 类型的委托实例。第一个使用了完整的构造函数语法,第二个使用了简化语法。
绑定方法:我们将 SayHello 和 SayGoodbye 方法绑定到委托实例上。
调用委托:通过委托实例调用绑定的方法,就像直接调用方法一样。
方法定义:SayHello 和 SayGoodbye 是两个简单的控制台输出方法,它们符合 SimpleDelegate 的签名(即无参数且返回 void)。
下一篇:c#switch
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站