基本上我在 Visual Studio 2010 中有两个项目。项目 1 包含一个 getter/setter 对,如下所示:
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 中使用这个构造,我会得到一个列表。
我知道列表在内部表示为 T[]。但是为什么这里的返回类型的行为会发生变化?