私は、C# コンパイラは、すべて暗黙的に変換できる型に基づいて、暗黙的に配列を型付けするという印象を受けました。
コンパイラは 、暗黙的に型指定された配列に最適な型が見つかりませんを生成します
public interface ISomething {}
public interface ISomething2 {}
public interface ISomething3 {}
public class Foo : ISomething { }
public class Bar : ISomething, ISomething2 { }
public class Car : ISomething, ISomething3 { }
void Main()
{
var obj1 = new Foo();
var obj2 = new Bar();
var obj3 = new Car();
var objects= new [] { obj1, obj2, obj3 };
}
これを修正する方法は、次のような型を宣言することです。
new ISomething [] { obj1, ...}
しかし、私はここでカバーの下のタイプのヘルプを求めています。