Para el # codificadores duro C aquí, esto podría parecer una pregunta completamente estúpido - sin embargo, me encontré con un fragmento de código de ejemplo en el foro AWS SDK y estaba completamente rozó por ella:Azúcar de sintaxis C#: ¿nueva forma de establecer los atributos del objeto?
RunInstancesRequest runInstance = new RunInstancesRequest()
.WithMinCount(1)
.WithMaxCount(1)
.WithImageId(GetXMLElement("ami"))
.WithInstanceType("t1.micro");
Este es muy reminiscente de la antigua sintaxis VB6 With ... End With
, que lamentaba desde hace tiempo la ausencia de C#. Lo he compilado en mi proyecto VS2008 y funciona de maravilla, guardando numerosas líneas separadas que hacen referencia a estos atributos individualmente.
Estoy seguro de que he leído artículos en el pasado que explican por qué el -bloque de estilo VB6 With
no estaba en C#, por lo que mi pregunta es: ¿tiene esta sintaxis siempre existió en el lenguaje, o es un cambio reciente de .NET que lo haya habilitado? ¿Podemos recubrir todas las instancias de objetos seguidas de cambios de atributos en el mismo azúcar?
bien seguro, puede poner en práctica todos esos métodos si quieres Pero ¿por qué no usar la sintaxis del inicializador de objetos? –
Respuestas excelentes aquí, pero solo puedo aceptar una, así que por ahora es la que se refiere específicamente a * Fluent Interfacing *, porque el ejemplo en el artículo deja muy claro lo que está sucediendo. Me siento un poco avergonzado de no haber hecho el enlace intuitivo, al ver que la línea en su totalidad tiene la forma 'A.B.C.D;', pero nunca antes había visto la técnica. Otra cuerda a la proa! :) –