【发布时间】:2011-01-24 10:04:05
【问题描述】:
是否可以枚举泛型约束中“可用”的类型?
T MyMethod<t>() where T : int, double, string
我为什么要这样做是因为我有一个小型评估引擎,并且想要 写这样的代码:
bool expression.Evaluate<bool>();
或
int expression.Evaluate<int>();
但我想禁止
MyCustomClass expression.Evalaute<MyCustomClass>();
【问题讨论】:
-
您确定
Evaluate<bool>()和Evaluate<int>()具有相同的实现吗?如果您的方法仅适用于特定类型列表,那么您的方法可能不像您想象的那样通用。 -
@dtb:谢谢你的提示,我认为那是我真正的问题,我想懒惰正在抓住我,只想写一个方法。 :)
标签: c# generics constraints