我正在制作一个通用方法,并且想知道是否有某种方法可以向泛型T
添加约束,这样T
就有了某个运算符,比如+,+ =, - , - =等。
public void TestAdd<T>(T t1, T t2)
{
return t1 + t2;
}
生成以下错误文本:
Operator '+' cannot be applied to operands of type 'T' and 'T'
我在谷歌/ SO上搜索了一段时间,却找不到任何相关内容。
答案 0 :(得分:1)
我认为这不可能做到
你可以通过以下方式减少幻想:
interface IAddable { void Add(object item); }
...
public void TestAdd<T>(T t1, T t2) where T : IAddable
{
return t1.Add(t2);
}