我可以这样做:
void MyMethod<T>() where T : class { }
有这样的东西吗?
void MyMethod<T>() where T : interface { }
我不希望明确指定接口名称。
另一种方法是,我可以传递一个受class
约束的参数,并在typeof(T).IsInterface
返回false时抛出异常,但这不像约束那样干净
答案 0 :(得分:3)
这没有任何意义,因为它不会导致任何限制。
约束class
表示type参数必须是引用类型。
那么没有显式接口名称的interface
应该限制什么?
接口本身只是方法/属性的声明,因此约束&#34;接口&#34;字面上的意思是&#34;某些东西有一些声明&#34; - 那没用。