无论如何,是否有强制通用定义的约束来实现“通用接口”...也就是说,我希望该类支持传递接口和约束它的通用类,以便该类实现该接口。例如,如果我说:
MyGenericClass<IMyInterface, MyImplementation>.DoSomething();
应该对其进行限制,以便 MyImplementation 实现 IMyInterface
据我所知,可以通过以下方式实现
public class Dynamic_Loader<T, S> where S: T
现在,有没有办法强制 T 成为一个接口?
Edit:这样做的目的是要有这样的东西:
private static List<T> interfaceList = new List<T>();
public static List<T> InterfaceList {get { return interfaceList;}}
public static void Add(S input) { interfaceList.Add(input);}
并将列表仅限于接口(因为它应该返回某些接口的实现)
你的意思是不是也可以加一个约束T
like where T : interface
?
如果是这样,那么no: 这个清单几乎涵盖了您的选择。
我相信,你所拥有的已经是最接近的了。
出于好奇,您想要限制的原因是什么?T
成为一个接口?
或者你的意思是也可以施加约束吗T
for T
to 实施 some specific界面?
如果是这样,那么yes: 就只有两个where
条款(例如,where S : T where T : U
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)