With - End With al estilo VB

16/07/2003 - 09:50 por Ricardo | Informe spam
Señores
Soy muy nuevo en C#, pero con una gran experiencia en VB. En mis primeros
pasos con C# e quedado encantado con el lenguage. Existen muchas cosas que
me han gustado de el, pero lo que mas me ha gustado es su sintaxis,... es
por escencia muy ordenado y te obliga a ser ordenado.

Pero al grano:
suponiendo que necesito hacer repetidas llamadas a miembros de un objeto, en
mi ya conocido VB era recomendado hacer una especia de indicación al
interprete que se haran sucesivas llamadas a miembros de un objeto, lo cual
ayudaba mucho a evitar el tipo problema de "falta de recursos de memoria".
ademas de eso permitia escribir código más ordenado.

ejemplo:

-
Dim objX As Clase.Objeto
Set objX = New Clase.Objeto

With objX
.Miembro1 = "Valor 1"
.Miembro2 = "Valor 2"
.Miembro3 = "Valor 3"
End With

Set objX = Nothing
-

Pregunta:
Existe algún simil de lo anterior para C# (la estructura With - End With).
Lo he buscado pero no lo he encontrado.


Por sus respuestas. Gracias
 

Leer las respuestas

#1 tristan
16/07/2003 - 18:06 | Informe spam
No existe nada parecido al With... End With en C#. En
cierta ocasión leí una conferencia de los creadores del
lenguaje, en la que explicaban entre otras cosas, por que
ni existe, ni quieren que exista algo así en C#. No
recuerdo bien cuales eran los argumentos, pero me
parecieron convincentes.

En realidad, venian a decir que es una sentencia
redundante. Se sustituye, fácilmente por algo así:

vb:

Dim objX As Clase.Objeto
Set objX = New Clase.Objeto
With objX
.Miembro1 = "Valor 1"
.Miembro2 = "Valor 2"
.Miembro3 = "Valor 3"
End With
Set objX = Nothing

C#

Clase objX = new Clase();
{
Clase o = objX;
o.Miembro1 = "Valor 1";
o.Miembro2 = "Valor 2";
o.Miembro3 = "Valor 3";
}
objX = null;

Tan solo tienes que teclear una letra más. Pero no me
parece una buena razón para complicar innecesariamente el
compilador. Además a mi juicio es más legible.

Preguntas similares