代码实现
//泛型委托声明
delegate void GenericDelegate(T t);
public class GenericDelegate
{
public static void InvokeDelegate()
{
GenericDelegate genericDelegate = new GenericDelegate(Method1);
genericDelegate("我是泛型委托1");
//官方版本(不带返回值)
Action action = new Action(Method1);
action("我是泛型委托1");
//Action
GenericDelegate genericDelegate1 = new GenericDelegate(Method2);
genericDelegate1(2);
//官方版本(带回值)
Func func = new Func(Method3);
string ret = func("我是带返回值Func委托");
Console.WriteLine( ret );
//Func
}
#region 委托方法
public static void Method1(string str)
{
Console.WriteLine(str);
}
public static void Method2(int num)
{
Console.WriteLine("我是泛型委托2 "+num);
}
public static string Method3(string str )
{
return str;
}
#endregion
}