使用匿名型別例項化泛型型別

使用泛型建構函式需要命名匿名型別,這是不可能的。或者,可以使用通用方法來允許型別推斷髮生。

var anon = new { Foo = 1, Bar = 2 };
var anon2 = new { Foo = 5, Bar = 10 };
List<T> CreateList<T>(params T[] items) {
    return new List<T>(items);
}

var list1 = CreateList(anon, anon2);

List<T> 的情況下,隱式型別陣列可以通過 ToList LINQ 方法轉換為 List<T>

var list2 = new[] {anon, anon2}.ToList();