状況を再現するために私の最高の試みです。ジェネリックコレクションの衝突
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();
}
}
コンパイラがインスタンス化に不満を持ちます。バーはIFoosのコレクションです。これらは共分散/反分散問題の1つですか?
ありがとう@EdS。修正は何ですか? – Matthew
共分散/反変分のサポートが必要な場合は、 'CollectionOf'がコレクションを読み込むか、コレクションに追加するかを知る必要があります。共分散または反共分散をサポートすることはできません。 – Lukazoid