1. 泛型:通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。
class Test<T>
{
public T obj;
public Test(T obj)
{
this.obj = obj;
}
}
int obj = 2;
Test<int> test = new Test<int>(obj);
string obj2 = "hello world";
Test<string> test1 = new Test<string>(obj2);
2. 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。