using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Delegate
{
/*泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。
您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型。*/
public delegate T Number_return<T>(T number);
class Program
{
public static int Return_int(int a)
{
return a+1;
}
public static int Return_int1(int a)
{
return a*9;
}
static void Main(string[] args)
{
Number_return<int> _int;
_int = Return_int;
Console.WriteLine(_int(5));//6
_int += Return_int1;
Console.WriteLine(_int(5));//45
Number_return<string> _str = new Number_return<string>(Return_t);
Console.WriteLine(_str("fanfna"));
}
public static T Return_t<T>(T a)
{
return a;
}
}
}