初學者的集合: 想寫返回一個泛型集合的方法:如何返回基於輸入(通用)
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()'。 –