基本的に、Visual Studio 2010 には 2 つのプロジェクトがあります。プロジェクト 1 には、次のようなゲッター/セッターのペアが含まれています。
public class MyFirstType
{
public string Name { set; get; }
public List<T> OtherList {set; get; }
public override String toString() { ... }
}
public class MyClass
{
public List<MyFirstType> MyType { get; set; };
public override String toString() { ... }
}
project2 では、この MyClass を次のように使用しようとしています。
MyClass mclass = new MyClass();
List<MyFirstType> myTypeList = mclass.MyType;
しかし、次のエラーが表示されます。
Cannot implicitly convert type 'MyType[]' to 'System.Collections.Generic.List<MyFirstType>'
ここで何が起こっているのか理解できません。project1 内でこの構成を使用すると、List が取得されます。
List が内部的に T[] として表されることは承知しています。しかし、ここで戻り値の型の動作が変更されたのはなぜでしょうか?