这有可能吗? (我没有对阵2010年,所以我不能自己尝试,对不起)
public interface IComplexList<out TOutput,in TInput> where TOutput : TInput { public IEnumerator<TOutput> GetEnumerator(); public void Add(TInput item); } public interface IList<T> : IComplexList<T,T> { }
如果我做对了,你可以用它来实际在同一个界面中实现协方差和逆变.
解决方法
不,你不能.在您的示例中,IList< T>是不变的.的IList< T>需要声明输入/输出是协变/逆变.仅通过继承一些协变的接口是不可能做到这一点的.