다음은 상황을 재현하려는 나의 최선의 시도입니다.일반 콜렉션
public interface IFoo
{
}
public class Foo : IFoo { }
public class Bar : IFoo { }
public class CollectionOf<T> : List<IFoo>
{
}
public class Bars : CollectionOf<Bar>
{
}
public class Test
{
public void Test()
{
CollectionOf<IFoo> bars = new Bars();
}
}
컴파일러는 인스턴스화에 불만을 표시합니다. Bars는 IFoos 컬렉션입니다. 이 공분산/반항성 문제 중 하나입니까?
감사합니다. @EdS. 수정 프로그램은 무엇입니까? – Matthew
공분산/반항을 지원하려면 CollectionOf가 콜렉션에서 읽거나 콜렉션에 추가하는지 여부를 알아야합니다. 둘 다있을 수없고 공분산 또는 반항을 여전히 지원할 수는 없습니다. – Lukazoid