我觉得我应该真的知道这个的答案......哈哈!
为什么在泛型列表的函数中返回类型列表会引发编译错误?
示例代码:
mean
答案 0 :(得分:-1)
如果您将您的功能称为:
List<Bar> items = Method<Bar>();
它不起作用,因为你的方法会给你一个foo列表。
没有泛型的另一种方法是返回接口列表。
public List<iFoo> Method()
{
var items = new List<Foo>();
return items;
}
答案 1 :(得分:-1)
public interface IFoo
{
int getAll();
}
public class Foo : IFoo
{
public Foo()
{
}
public int getAll() => 1;
}
public List<T> Method<T>() where T : IFoo, new()
{
var items = new List<T>();
var foo = new T();
items.Add(foo);
return items;
}
var list = Method<Foo>();