以下是一些基本的委托概念和用法:
1. 定义委托:
// 定义一个委托
public delegate void MyDelegate(string message);
// 委托的方法签名需要与被引用的方法相匹配
2. 实例化委托:
// 实例化委托并与方法关联
MyDelegate myDelegate = new MyDelegate(MyMethod);
3. 定义委托引用的方法:
// 被委托引用的方法
static void MyMethod(string message)
{
Console.WriteLine("MyMethod: " + message);
}
4. 调用委托:
// 通过委托调用方法
myDelegate("Hello, Delegate!");
5. 多播委托(Multicast Delegate):
// 可以将多个方法添加到同一个委托上,形成多播委托
myDelegate += AnotherMethod;
myDelegate("Hello, Multicast Delegate!");
完整示例:
using System;
public delegate void MyDelegate(string message);
class Program
{
static void Main()
{
// 实例化委托并与方法关联
MyDelegate myDelegate = new MyDelegate(MyMethod);
// 调用委托
myDelegate("Hello, Delegate!");
// 多播委托
myDelegate += AnotherMethod;
myDelegate("Hello, Multicast Delegate!");
}
static void MyMethod(string message)
{
Console.WriteLine("MyMethod: " + message);
}
static void AnotherMethod(string message)
{
Console.WriteLine("AnotherMethod: " + message);
}
}
这是一个简单的委托示例,你可以根据具体需求定义不同类型的委托,以及使用 Lambda 表达式等功能来简化代码。
转载请注明出处:http://www.pingtaimeng.com/article/detail/14772/C#