在 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");

第一种方法对我来说更普遍。

第二种方法不必创建实例,仅仅是因为它委托的方法是静态的吗?

如果是,哪一个在概念上更通用?

在 C# 中使用委托的推荐方法

两个代码片段是相同的。 第二种是仅允许编译器自动推断方法组的委托类型,而不是显式提供它。 在这两种情况下,您都将创建委托的实例。