C# Language Creando un tipo anónimo


Ejemplo

Como los tipos anónimos no tienen nombre, las variables de esos tipos deben escribirse implícitamente ( var ).

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

Si no se especifican los nombres de los miembros, se establecen en el nombre de la propiedad / variable utilizada para inicializar el objeto.

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

Tenga en cuenta que los nombres solo se pueden omitir cuando la expresión en la declaración de tipo anónimo es un simple acceso de propiedad; para llamadas a métodos o expresiones más complejas, se debe especificar un nombre de propiedad.

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