我有两个课程:
public class MyClass
{
public int Foo { get; set; }
public string Bar { get; set; }
}
public class MyList : List<MyClass>
{
}
在其他代码中,我正在MyClass
为数据库中的每条记录创建实例,并且我想将它们全部返回到一个MyList
实例中:
var records = _repository.GetRecords();
return (MyList) records.Select(x => x.ConvertTo<MyClass>()).ToList();
代码编译得很好,但它抛出了一个运行时 InvalidCastException
:
无法将“System.Collections.Generic.List`1[MyClass]”类型的对象转换为“MyList”类型。
我不明白为什么会发生此错误MyList
,因为List<MyClass>
.
我发现了一些有关协方差的相关问题。这个问题与我的问题最相似,但我不知道如何调整答案来解决我的问题。
我的问题:
如何MyList
从数据库记录中构建实例?
我正在使用 C# 和 .NET 4.0