初学者的集合: 想写返回一个泛型集合的方法:如何返回基于输入(通用)
public IEnumerable<T> ABC(string x){
if(x== "1")
{ Collection<A> needs to be returned}
if(x=="2")
{ Collection<B> needs to be returned}
..
so on
}
问题: - 基于传递给方法“X”不同类型的集合被初始化并需要返回?我怎样才能做到这一点? - 这是正确的方法吗? - 可以获得更多通用用途细节的链接?
为什么不使用'return new List();'而不是使用激活器,如果你打算使用泛型? (也许我只是错过了一些东西。) –
是的,如果你想只是初始化T的列表,你可以返回新的列表()。但如果你需要添加一些数据到它,那么它在这种情况下失败。您不能创建使用泛型的实例。 –
当然可以。取一个“T”的实例(或集合),并在“新建”集合中使用'.Add()'或'AddRange()'。 –