أي Visual Basic "مع" التناظرية في C#؟ [مكرر
-
26-09-2019 - |
سؤال
تكرار ممكن:
C# ما يعادل الكلمة الأساسية Visual Basic: "مع" ... "نهاية مع"؟
VB.NET
With Alpha.Beta.Gama.Eta.Zeta
a = .ZetaPropertyA
b = .ZetaPropertyB
c = .ZetaPropertyC
End With
ج#؟
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
}
لا ، لا يوجد شيء مثل with
بناء في ج#.
لا. الحل البديل هو اسم متغير محلي (قصير) بدلاً من with
. يضيف بضعة أحرف لكل سطر ، لكن لا يزال ينتهي بك الأمر إلى مراجع مؤهلة تمامًا.
آسف ، ج# ليس لديه ذلك. قد يقترح jokub just jakub بديلاً ، أو:
إذا قمت بتصميم Zeta
نفسك ، يمكنك استخدام واجهة بطلاقة نمط التصميم. من شأنه أن يسمح لك بالقيام:
Alpha.Beta.Gama.Eta.Zeta
.SetPropertyA(A)
.SetPropertyB(B)
.SetPropertyC(C);
الذي يقترب مما تريد ، على حساب الكثير من العمل في مكان آخر. وتذكر أن الواجهة بطلاقة ليست دائمًا أفضل اختيار للتصميم.
لا تنتمي إلى StackOverflow