C# で Visual Basic の「With」に相当するものはありますか?[重複]
-
26-09-2019 - |
質問
VB.NET
With Alpha.Beta.Gama.Eta.Zeta
a = .ZetaPropertyA
b = .ZetaPropertyB
c = .ZetaPropertyC
End With
C#?
a = Alpha.Beta.Gama.Eta.Zeta.ZetaPropertyA
b = Alpha.Beta.Gama.Eta.Zeta.ZetaPropertyB
c = Alpha.Beta.Gama.Eta.Zeta.ZetaPropertyC
解決
いや、存在しません。
あなたはそれを少し短くすることができますが:
var z = Alpha.Beta.Gama.Eta.Zeta;
z.ZetaPropertyA = a;
z.ZetaPropertyB = b;
z.ZetaPropertyC = c;
あなたの他のケースについて:
var z = Alpha.Beta.Gama.Eta.Zeta;
a = z.ZetaPropertyA;
b = z.ZetaPropertyB;
c = z.ZetaPropertyC;
けれども明らかにしてきたはずです。;)
他のヒント
あなたは初期化子オブジェクトを使用することができ、新たなインスタンスの場合:
Alpa.Beta.Gama.Eta = new Zeta
{
ZetaPropertyA = a,
ZetaPropertyB = b,
ZetaPropertyC = c
}
いいえ、C#でwith
構造物のようなものはありません。
いいえ. 。回避策は、代わりに (短い) ローカル変数名を使用することです。 with
. 。1 行に数文字を追加しても、完全修飾参照が得られます。
申し訳コンポーネントは、シッピングには入っていない。のオブジェクト初期化@Jakubこれを代替するに当たり、
場合デザイン Zeta
自分が利用可能に 堪能面 デザインパターンです。ることができます:
Alpha.Beta.Gama.Eta.Zeta
.SetPropertyA(A)
.SetPropertyB(B)
.SetPropertyC(C);
るあなたの欲しいに多くの仕事です。とを覚えていを堪能されていないインタフェースを常に最高のデザインです。
所属していません StackOverflow