Pregunta

    

Esta pregunta ya tiene una respuesta aquí:

    
            
  •              Con bloque equivalente en C #?                                      15 respuestas                          
  •     
    

Yo sé que C # tiene la using palabra clave, pero With...End With dispone del objeto automáticamente.

¿Existe la equivalencia de <=> en Visual Basic 6.0 ?

¿Fue útil?

Solución

C # no tiene un lenguaje equivalente construir para eso.

Otros consejos

No es equivalente, pero funcionaría esto sintaxis para usted?

Animal a = new Animal()
{
    SpeciesName = "Lion",
    IsHairy = true,
    NumberOfLegs = 4
};

No hay un equivalente, pero creo que discutir una sintaxis podría ser interesante!

Me gusta bastante;

NameSpace.MyObject.
{
    active = true;
    bgcol = Color.Red;
}

¿Alguna otra sugerencia?

No puedo imaginar que la adición de esta característica del lenguaje sería difícil, esencialmente sólo un pre-procesado.

EDIT:

Yo estaba harto de esperar para esta función, por lo que aquí está y extensión que logra un comportamiento similar.

/// <summary>
/// C# implementation of Visual Basics With statement
/// </summary>
public static void With<T>(this T _object, Action<T> _action)
{
    _action(_object);
}

Uso;

LongInstanceOfPersonVariableName.With(x => {
     x.AgeIntVar = 21;
     x.NameStrVar = "John";
     x.NameStrVar += " Smith";
     //etc..
});

EDIT: Curiosamente, parece que alguien me ganó de mano, de nuevo, con esta "solución". Oh, bueno ..

Creo que el equivalente de la siguiente VB

With SomeObjectExpression()
  .SomeProperty = 5
  .SomeOtherProperty = "Hello"
End With

Sería esto es C #

{
  Var q=SomeOtherExpression();
  q.SomeProperty = 5;
  q.SomeOtherProperty = "Hello";
}

La única diferencia real es que en VB, el identificador no tiene nombre "q", sino que es simplemente un identificador por defecto utilizado cuando se encuentra un periodo sin ningún otro medio de identificación antes de ella.

No hay equivalente a With ... End With en C # .

Esto es un tabla de comparación para usted que ilustra las diferencias entre Visual Basic y C #.

No hay una estructura equivalente en C #. Se trata de un / función de Visual Basic 6.0 VB.NET .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top