C# 为什么我不能返回列表<;进入>;返回类型为IEnumerable时<;IEntry>;?
我有: 为什么我不能这样做C# 为什么我不能返回列表<;进入>;返回类型为IEnumerable时<;IEntry>;?,c#,generics,C#,Generics,我有: 为什么我不能这样做 interface IEntry {} class Entry : IEntry {} IEnumerable func() { 返回新列表(); } 返回的对象不满足所有类型要求吗?我相信这只在.net 4中可用 在早期版本中,您可以: IEnumerable<IEntry> func() { return new List<Entry>(); } 使用System.Linq; IEnumerable func() { 返回新
interface IEntry {}
class Entry : IEntry {}
IEnumerable func()
{
返回新列表();
}
返回的对象不满足所有类型要求吗?我相信这只在.net 4中可用 在早期版本中,您可以:
IEnumerable<IEntry> func()
{
return new List<Entry>();
}
使用System.Linq;
IEnumerable func()
{
返回新列表().Cast();
}
我相信这只在.net 4中提供
在早期版本中,您可以:
IEnumerable<IEntry> func()
{
return new List<Entry>();
}
使用System.Linq;
IEnumerable func()
{
返回新列表().Cast();
}
C#(和.Net)4.0引入了泛型类型参数(包括)的概念,这允许编译器隐式转换如下语句
定义自己的泛型类型时,可以分别使用和关键字将类型声明为协变或逆变。C#(和.Net)4.0引入了泛型类型参数(包括)的概念,这允许编译器隐式转换这样的语句
定义自己的泛型类型时,可以分别使用和关键字将类型声明为协变或逆变。您所说的.NET版本是4.0之前的版本还是否?检查您使用的.NET版本是4.0之前的版本还是否?检查