Question

    

Cette question a déjà une réponse ici:

    
            
  •              Avec équivalent bloc en C #?                                      15 réponses                          
  •     
    

Je sais que C # a le mot-clé using, mais de l'With...End With dispose objet automatiquement.

Y at-il de l'équivalence dans de Visual Basic 6.0 ?

Était-ce utile?

La solution

C # ne dispose pas d'un langage équivalent à construire pour cela.

Autres conseils

Il est pas équivalent, mais cela fonctionnerait de syntaxe pour vous?

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

Il n'y a pas d'équivalent, mais je pense que la discussion d'une syntaxe pourrait être intéressant!

Je aime bien;

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

Toutes les autres suggestions?

Je ne peux pas imaginer que l'ajout de cette fonctionnalité de langage serait difficile, essentiellement juste un prétraité.

EDIT:

J'étais malade d'attendre cette fonction, voici donc et l'extension qui permet d'atteindre un comportement similaire.

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

Utilisation;

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

EDIT: Fait intéressant, il semble que quelqu'un m'a battu au poinçon, encore une fois, avec cette "solution". Eh bien ..

Je pense que l'équivalent de ce qui suit VB :

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

Ne serait-ce est C # :

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

La seule différence est que dans vb, l'identifiant ne porte pas de nom « q », mais est simplement un identifiant par défaut utilisé lorsqu'une période est rencontrée sans aucun autre identifiant devant lui.

Il n'y a pas équivalent à ... Avec la fin Avec C # .

Voici un tableau comparatif pour vous qui illustre les différences entre Visual Basic et C #.

Il n'y a pas de structure équivalente en C #. Ceci est un Visual Basic 6.0 / VB.NET fonction .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top