是否可以将枚举作为接口的类型参数传递,或者有什么方法可以通过另一种方式实现相同的目的?
例如
public interface IServiceResponse<R, enumServiceID> {}
先谢谢了。
答案 0 :(得分:1)
您在声明接口,因此类型参数是类型的符号表示形式,而不是实际的具体类型。您可以放置一个您希望是枚举类型的类型参数(例如TEnum),然后将其限制为值类型(其中TEnum:struct),但是不幸的是,您不能将其限制为枚举类型。完成此操作后,您可以声明一个使用具体枚举类型实现该接口的类:
public class MyServiceResponse : IServiceResponse<MyRType, EnumServiceId> { }