I know that C# has the using
keyword, but using
disposes of the object automatically.
Is there the equivalence of With...End With
in Visual Basic 6.0?
It's not equivalent, but would this syntax work for you?
Animal a = new Animal()
{
SpeciesName = "Lion",
IsHairy = true,
NumberOfLegs = 4
};
C# doesn't have an equivalent language construct for that.
There is no equivalent, but I think discussing a syntax might be interesting!
I quite like;
NameSpace.MyObject.
{
active = true;
bgcol = Color.Red;
}
Any other suggestions?
I cant imagine that adding this language feature would be difficult, essentially just a preprocessed.
EDIT:
I was sick of waiting for this feature, so here is and extension that achieves a similar behavior.
/// <summary>
/// C# implementation of Visual Basics With statement
/// </summary>
public static void With<T>(this T _object, Action<T> _action)
{
_action(_object);
}
Usage;
LongInstanceOfPersonVariableName.With(x => {
x.AgeIntVar = 21;
x.NameStrVar = "John";
x.NameStrVar += " Smith";
//etc..
});
EDIT: Interestingly it seems someone beat me to the punch, again, with this "solution". Oh well..
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With