Domanda

    

Questa domanda ha già una risposta qui:

    
            
  •              Con blocco equivalente in C #?                                      15 risposte                          
  •     
    

So che C # ha la using parola chiave, ma With...End With dispone dell'oggetto automaticamente.

C'è l'equivalenza delle <=> in Visual Basic 6.0 ?

È stato utile?

Soluzione

C # non ha un linguaggio equivalente costrutto per questo.

Altri suggerimenti

Non è equivalente, ma sarebbe questo lavoro sintassi per voi?

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

Non v'è alcun equivalente, ma penso che discutendo una sintassi potrebbe essere interessante!

mi piace molto;

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

Altri suggerimenti?

Non posso immaginare che l'aggiunta di questa caratteristica del linguaggio sarebbe difficile, in sostanza, solo un pre-elaborato.

Modifica

Ero stanco di aspettare per questa funzione, ecco e l'estensione che consente di ottenere un comportamento simile.

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

Utilizzo;

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

Modifica È interessante notare che sembra mi ha battuto qualcuno al punzone, ancora una volta, con questa "soluzione". Vabbè ..

Credo che l'equivalente del seguente VB :

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

sarebbe questo è C # :

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

L'unica vera differenza è che in VB, l'identificatore non ha un nome "q", ma è semplicemente un identificatore di default utilizzato quando si incontra un periodo senza qualsiasi altro mezzo identificativo prima di esso.

Non c'è alcun equivalente With ... End With in C # .

Ecco un tabella di confronto per te, che illustra le differenze tra Visual Basic e C #.

Non v'è alcuna struttura equivalente in C #. Si tratta di un Basic 6.0 / VB.NET caratteristica visiva.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top