📜  C#2.0 委托推断

📅  最后修改于: 2020-11-01 03:01:23             🧑  作者: Mango

C#委托推断

委托推断使我们能够将分配方法名称直接分配给委托实例,而无需将其包装到委托对象。

当我们为委托分配方法名称时,编译器首先会推断委托的类型。在该编译器创建了一个推断类型的新对象之后,包装该方法并分配给委托。

让我们看一些例子。第一个示例不使用推断功能,而是像早期版本一样创建对象和包装方法。

没有推理的C#委托示例

using System;
namespace CSharpFeatures
{
    class DelegateInference
    {
        delegate void MyDelegate(string msg);
        static void Main(string[] args)
        {
            MyDelegate del = new MyDelegate(Greetings);
            del("Welcome to the javatpoint");
        }
        public static void Greetings(string greet)
        {
            Console.WriteLine(greet);
        }
    }
}

输出:

Welcome to the javatpoint

第二个示例实现委托推理功能。并且产生与以前相同的结果。

带有推理的C#委托示例

using System;
namespace CSharpFeatures
{
    class DelegateInference
    {
        delegate void MyDelegate(string msg);
        static void Main(string[] args)
        {
            MyDelegate del = Greetings;
            del("Welcome to the javatpoint");
        }
        public static void Greetings(string greet)
        {
            Console.WriteLine(greet);
        }
    }
    }

输出:

Welcome to the javatpoint