一、泛型委托
泛型的委托有很多,但掌握常见的泛型委托应用即可
委托可以定义它自己的类型参数。
引用泛型委托的代码可以指定类型参数以创建封闭式构造类型。
public delegate void Del<T>(T t);//Del<T> 是一个泛型委托
public static void Notify(int t) { }//通过 Del<int> 将 T 指定为 int,就是创建了一个封闭的构造类型。
Del<int> m1 = new Del<int>(Notify);//实例化 Del<int>
常见的委托有Action,Func,Predicate,Converter等等。
Action特点:没有参数,没有返回值。只要没有参数,没有返回值的方法都可以满足委托。
Action action = () => {
Console.WriteLine("委托");
};
// 必须调用,才会执行
action();
Action<in T>泛型委托,in是关键字,转到定义查看
// 泛型委托
Action<int> action = (int arg) =>
{
Console.WriteLine(arg);
};
action(10);
Func&