public class Entity
{
public int Id {get;set;}
}
public class Foo : Entity
{
public string Name {get;set;}
}
//foos is an IEnumerable<Foo> with List<Foo> value
foos as IEnumerable<Entity> //works in .net 4.0, doesn't work in 3.5,
如何在 3.5 中获得类似的行为
最佳答案
此构造依赖于 .net 4.0 中引入的协变/逆变。您将无法在早期版本上使用它。
这是一篇关于它的好文章:http://blogs.msdn.com/b/csharpfaq/archive/2010/02/16/covariance-and-contravariance-faq.aspx
关于c# - 类型转换在 3.5 和 4.0 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5363823/