IList在c#中使用协方差和逆变,这可能吗?

前端之家收集整理的这篇文章主要介绍了IList在c#中使用协方差和逆变,这可能吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这有可能吗? (我没有对阵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>需要声明输入/输出是协变/逆变.仅通过继承一些协变的接口是不可能做到这一点的.

猜你在找的C#相关文章