测试泛型类型是否为特定的枚举类型

时间:2011-09-21 04:29:51

标签: c# .net generics enums

我已经在这里研究了问题,并且还尝试了我自己的测试,但是如果我的泛型类型是特定的枚举类型,它似乎无法执行某个函数。

我正在尝试:

if (typeof(T) is typeof(Enums.Status)) { .. }

但是,这会导致Type expected错误。所以现在我觉得很傻,因为不是我的Enum类型吗?

我也试过if (typeof(T) is Enums.Status) { .. }但是唉;也没有用。

现在我知道T绝对是Enums.Status的类型,您可以通过此快速计划打印出来:typeof(T) = {Name = "Status" FullName = "Data.Common.Utility.Enums+Status"}

这可能很容易,任何人都可以告诉我如何正确测试这个?

由于

1 个答案:

答案 0 :(得分:2)

尝试

typeof(T) == typeof(Enums.Status)

我认为

default(T) is Enums.Status

可能会更快,但我不知道它是否有效;试一试。