Эквивалентность «С … End With» в C #?

Я знаю, что C # имеет ключевое слово using , но автоматически использует объект.

Есть ли эквивалентность With...End With в Visual Basic 6.0 ?

    Для этого C # не имеет эквивалентной языковой конструкции.

    Это не эквивалентно, но будет ли этот синтаксис работать на вас?

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

    Нет эквивалента, но я думаю, что обсуждение синтаксиса может быть интересно!

    Мне очень нравится;

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

    Любые другие предложения?

    Я не могу себе представить, что добавление этой языковой функции было бы затруднительным, по сути, просто препроцессором.

    РЕДАКТИРОВАТЬ:

    Мне было больно ждать этой функции, так что вот и расширение, которое достигает аналогичного поведения.

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

    Применение;

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

    EDIT: Интересно, что, похоже, кто-то избил меня на удар, опять же, с этим «решением». Ну что ж..

    Я думаю, что эквивалент следующего VB :

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

    Будет ли это C # :

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

    Единственное реальное различие заключается в том, что в vb идентификатор не имеет имени «q», а просто является идентификатором по умолчанию, используемым, когда период встречается без какого-либо другого идентификатора перед ним.

    Нет никакого эквивалента With … End With in C # .

    Ниже приведена сравнительная диаграмма , иллюстрирующая различия между Visual Basic и C #.

    В C # нет эквивалентной структуры. Это функция Visual Basic 6.0 / VB.NET .

    Давайте будем гением компьютера.