c# - 为什么返回类型为IEnumerable<IEntry> 却不能返回List<Entry>?

标签 c# generics

我有:

interface IEntry {}

class Entry : IEntry {}

为什么我做不到?

IEnumerable<IEntry> func()
{
    return new List<Entry>();
}

返回的对象不满足所有的类型要求吗?

最佳答案

我相信这只在 .net 4 中可用

在早期版本中,您可以:

using System.Linq;

IEnumerable<IEntry> func()
{
    return new List<Entry>().Cast<IEntry>();
}

关于c# - 为什么返回类型为IEnumerable<IEntry> 却不能返回List<Entry>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3955608/

相关文章:

c# - C# 中 const 字段的继承修饰符 "new"

scala - 用于转换为并行集合的通用类型参数

Scala:通用加权平均函数

generics - 无法定义运算符

delphi - 如何将指针转换为泛型参数类型?

c# - 如何检查丹麦服务器上的小数边界

c# - Windows Azure 服务总线 - 一般问题

c# - ProjectGuid(.csproj),如何正确生成?

c# - 在 Visual Studio 中访问 secret 变量

java - "? extends ParentClass"使只读?