C# Language Creazione di istanze di tipi generici con tipi anonimi


Esempio

L'utilizzo di costruttori generici richiederebbe il nome dei tipi anonimi, il che non è possibile. In alternativa, è possibile utilizzare metodi generici per consentire l'inferenza del tipo.

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);

Nel caso di List<T> , gli array implicitamente tipizzati possono essere convertiti in un List<T> tramite il metodo LINQ ToList :

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