C#中的泛型委托

C#中的泛型委托

为什么使用泛型委托

普通委托有一个问题,由于入口参数类型不同,委托没法使用,就不得不再定义一个委托来代表这个方法,因为类型的数目是无限多的,定义无数多个委托显然行不通,这时就要使用到泛型。

泛型委托的写法

public delegate boo Predicate<T>(T obj);

LINQ中的泛型委托

有返回值的委托
mscorlib.dll中定义了含有最多8个参数的委托 Func
System.Core.dll中的定义了最多16个参数的委托

Func<T,TResult>
public delegate TResult GeneralMethod<in T, out TResult>(T arg);

无返回值的委托
Action

public delegate void Action<in T>(T obj);
    原文作者:Pelva
    原文地址: https://blog.csdn.net/qq_33074817/article/details/97132434
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞