C#委托的实现方法是什么
C#委托的实现方法可以通过以下几种方式实现:
- 使用命名方法:定义一个方法,然后将该方法的名称作为委托的参数传递给委托实例。
public delegate void MyDelegate(string message);
public class MyClass
{
public static void PrintMessage(string message)
{
Console.WriteLine(message);
}
public static void Main()
{
MyDelegate myDelegate = PrintMessage;
myDelegate("Hello World");
}
}
- 使用匿名方法:直接在委托的参数位置定义一个匿名方法。
public delegate void MyDelegate(string message);
public class MyClass
{
public static void Main()
{
MyDelegate myDelegate = delegate (string message)
{
Console.WriteLine(message);
};
myDelegate("Hello World");
}
}
- 使用Lambda表达式:使用Lambda表达式可以更简洁地定义匿名方法。
public delegate void MyDelegate(string message);
public class MyClass
{
public static void Main()
{
MyDelegate myDelegate = (message) =>
{
Console.WriteLine(message);
};
myDelegate("Hello World");
}
}
无论使用哪种方式,委托都可以用来引用方法,并允许在运行时动态替换方法。