在 C# 中使用委托的推荐方法
本文关键字:方法 | 更新日期: 2023-09-27 18:33:19
如果委托只是一个方法的参考点,那么我认为我不应该在对象方式中使用委托(创建委托类型的实例)。
这是第一个代码段:
public delegate void Del1(string message);
public class Test
{
public static void Method1(string message)
{
System.Console.WriteLine(message);
}
}
Test test new Test();
del1 handler=new del1(Test.Method1);
handler("Hello world!");
这是第二个片段:
public delegate void Del2(string message);
public static void Method2(string message)
{
System.Console.WriteLine(message);
}
Del2 handler = Method2;
handler("Hello World");
第一种方法对我来说更普遍。
第二种方法不必创建实例,仅仅是因为它委托的方法是静态的吗?
如果是,哪一个在概念上更通用?
两个代码片段是相同的。 第二种是仅允许编译器自动推断方法组的委托类型,而不是显式提供它。 在这两种情况下,您都将创建委托的实例。