gpt4 book ai didi

c# - C#中Delegate的推荐使用方式

转载 作者:太空宇宙 更新时间:2023-11-03 23:21:38 24 4
gpt4 key购买 nike

如果委托(delegate)只是一个方法的引用点,那么我认为我不应该在对象方式中使用委托(delegate)(创建委托(delegate)类型的实例)。

这是第一个片段:

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

第一种方式对我来说更通用。

第二种方式不用创建实例,是因为它委托(delegate)的方法是静态的吗?

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

最佳答案

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

关于c# - C#中Delegate的推荐使用方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35191941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com