Vengo de JavaScript, y sé que { }
es un objeto literal, sin necesidad de requerir la llamada new Object
; Me pregunto si es lo mismo con C# en la parte {"id",id}, {"saveChangesError",true}
.¿Qué característica de C# permite el uso de una notación de tipo "literal de objeto"?
Sé que hay dos características C# aquí, ¿me puede explicar más sobre lo que son?
new RouteValueDictionary()
{ //<------------------------------[A: what C# feature is this?] -------||
{"id",id}, //<------------------[B: what C# feature is this also?] ||
{"saveChangesError",true} ||
}); //<------------------------------------------------------------------||
Es la magia simplemente especial en C# para llamar automáticamente algunos métodos ('add' en particular) * * después de que el objeto ha sido creado. –
Para las respuestas: ¿se puede * inicializar la propiedad * mezclar con * inicialización de la colección *? (Esto debería estar presente al explicar la construcción "externa", como podría haber sido: 'nuevo Foo {Bar = Quz}'.) –
@pst: No, ni siquiera en VB.NET, curiosamente ... – Ryan