是否有一種隱含的方式來告訴泛型集合使用傳入的IEnumerable<T>
數據的Type
?隱含通用列表<T>的數據類型是否可以隱含?
假定任何類型都可以傳入,因爲它可能已被遮擋,例如通過IQueryable並可能包含匿名類型。
var enumerableThings = //... enumerable<T> obtained from somewhere.
關鍵是T是未知的。
我想創造的東西枚舉的主要類型的List<T>
:
var listOfThoseThings = new List<???>(enumerableThings);
有在C#/許多有趣的機制NET。如果能夠執行這項任務,我不會感到驚訝;然而目前一個簡明的方式迴避我。
這當然會枚舉IEnumerable時被調用,這可能會影響,如果你的枚舉是linq-sql或任何其他長期運行的集合。 – asawyer 2011-01-31 19:11:59
@asawyer:對於任何`List`這都是如此,無論你如何創建它。 –
SLaks
2011-01-31 19:22:23