C# Language Creare un tipo anonimo


Esempio

Poiché i tipi anonimi non vengono denominati, le variabili di questi tipi devono essere digitate implicitamente ( var ).

var anon = new { Foo = 1, Bar = 2 };
// anon.Foo == 1
// anon.Bar == 2

Se i nomi dei membri non sono specificati, vengono impostati sul nome della proprietà / variabile utilizzata per inizializzare l'oggetto.

int foo = 1;
int bar = 2;
var anon2 = new { foo, bar };
// anon2.foo == 1
// anon2.bar == 2

Si noti che i nomi possono essere omessi solo quando l'espressione nella dichiarazione del tipo anonimo è un semplice accesso alla proprietà; per le chiamate ai metodi o le espressioni più complesse, è necessario specificare un nome di proprietà.

string foo = "some string";
var anon3 = new { foo.Length };
// anon3.Length == 11
var anon4 = new { foo.Length <= 10 ? "short string" : "long string" };
// compiler error - Invalid anonymous type member declarator.
var anon5 = new { Description = foo.Length <= 10 ? "short string" : "long string" };
// OK