【发布时间】:2011-12-31 16:32:29
【问题描述】:
考虑以下代码:
class Base<T>
{
//Base members
}
我希望通用 T 是一个枚举(如果可能,使用约束)。我怎样才能在 C# 中做到这一点?
编辑:
使用由 Akash Kava 引入的代码契约似乎也是一种不错的方式。我设法让它产生一个无用的运行时错误。 Here 是我试过的代码。应该可以生成编译时警告,但我无法让它工作。
【问题讨论】:
-
很多,但我能找到的规范之一是stackoverflow.com/questions/79126/…,虽然它是关于泛型方法,而不是泛型类,但类型约束无论如何都以完全相同的方式工作。
-
@BoltClock,感谢您的指出,但我仍然得到了一个非常不同的答案(我认为一个更好的答案)。但是,我还没有设法让它工作。
-
你试过代码合约吗?
-
@AkashKava:从未听说过他们。有链接吗?
-
msdn.microsoft.com/en-us/devlabs/dd491992 ,这是创建警告的另一种方式..
标签: c# generics type-constraints