C#泛型类,泛型接口,泛型方法,泛型委托怎么用
展开全部
泛型是为了解决抽象的问题。例如,方法A(int,int,string);B(string,char,char);C(int,float,char);的签名各不相同,但是要做相同的操作。可以看到他们有一个共同点——三个参数。那么我可以定义一个泛型方法string functionWithThreeArg<T1,T2,T3>(T1 arg1,T2 arg2,T3 arg3)
where ... //这里做泛型约束,比如都实现了 ‘+’ 运算符
{
string result = arg1 + arg2 + arg3;
return result;
}
那么现在来调用A,B,C三种情形,就可以使用泛型方法了
A:functionWithThreeArg<int,int,string>(1,2,"3");
B:functionWithThreeArg<string,char,char>("1",'b','c');
C:functionWithThreeArg<int,float,char>(1,"1.5",'a');
嗯,这里只是简单说明下问题,并不是实际代码。
where ... //这里做泛型约束,比如都实现了 ‘+’ 运算符
{
string result = arg1 + arg2 + arg3;
return result;
}
那么现在来调用A,B,C三种情形,就可以使用泛型方法了
A:functionWithThreeArg<int,int,string>(1,2,"3");
B:functionWithThreeArg<string,char,char>("1",'b','c');
C:functionWithThreeArg<int,float,char>(1,"1.5",'a');
嗯,这里只是简单说明下问题,并不是实际代码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询