可能的重复:
Visual Basic 关键字的 C# 等效项:'和' ...“结束于”?

网络

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. 。每行添加几个字符,但您最终仍然会得到完全合格的引用。

对不起,C#不具有。初始化@Jakub对象暗示可能提供一种替代的,或者:

如果您自己设计Zeta,你可以使用 流畅的界面 设计模式。这将允许你这样做:

Alpha.Beta.Gama.Eta.Zeta
    .SetPropertyA(A)
    .SetPropertyB(B)
    .SetPropertyC(C);

这接近你想要什么,在很多其他地方工作的费用。请记住,一个流畅的界面并不总是最好的设计选择。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top