所以我有一个看起来像这样的类:
public class Foo<TKey>
{
...
}
我有一种使用TKey
泛型的方法,如下:
public int Test(TKey val)
{
return val | 5;
}
现在,我需要设置约束以确保TKey
是一个数值,以便使用按位运算符。无论如何,您无法设置约束以确保它是一个数字值,因为short,int,double,...
未实现类似INumeric
的接口。
现在的问题是,只有限制条件,才有可能吗?
尝试此代码:
泛型是关于允许地球上任何程序员可能抛出的所有Random类都输入T。但是,数字类型实际上是一个非常静态的列表。我从不希望程序员编写自己的数字类型。带有二元运算符的重载运算符的东西?也许很少。