具有Enum类型参数的C#接口

时间:2018-07-15 00:41:37

标签: c# .net interface

是否可以将枚举作为接口的类型参数传递,或者有什么方法可以通过另一种方式实现相同的目的?

例如

public interface IServiceResponse<R, enumServiceID> {}

先谢谢了。

1 个答案:

答案 0 :(得分:1)

您在声明接口,因此类型参数是类型的符号表示形式,而不是实际的具体类型。您可以放置​​一个您希望是枚举类型的类型参数(例如TEnum),然后将其限制为值类型(其中TEnum:struct),但是不幸的是,您不能将其限制为枚举类型。完成此操作后,您可以声明一个使用具体枚举类型实现该接口的类:

public class MyServiceResponse : IServiceResponse<MyRType, EnumServiceId> {  }