<分区>
我有一个通用类 Foo<T>
我想约束的地方 T
成为enum
类型。这在 C# 中可能吗?
我试过了
public class Foo<T> where T : enum // COMPILATION ERROR
但这种方法似乎只适用于 class
和 struct
.
同样,试图约束 T
基础 enum
type 也不起作用:
public class Foo<T> where T : int // COMPILATION ERROR
自 int
不是类或接口(interface)。
编辑 我现在意识到之前已经发布过类似的问题,最终这个问题可以被删除。一个与我的问题更相关且包含与以下相同答案的问题是 this .
2018 年 9 月 13 日更新 在最新的次要 C# 版本 7.3 中,现在可以将泛型类型限制为 Enum
。 .有关详细信息,请参阅 here .