استخدام .NET CodeDOM للإعلان عن حقل وتهيئته في عبارة واحدة

StackOverflow https://stackoverflow.com/questions/29531

  •  09-06-2019
  •  | 
  •  

سؤال

أرغب في استخدام CodeDOM للإعلان عن الحقل الثابت الخاص بي وتهيئته في عبارة واحدة.كيف يمكنني أن أفعل هذا؟

// for example
public static int MyField = 5;

يبدو أنني أعرف كيفية الإعلان عن حقل ثابت، ويمكنني تعيين قيمته لاحقًا، لكن يبدو أنني لا أستطيع الحصول على التأثير أعلاه.

@momaxx ، ناو ، أريد فقط ثابت.لا أريد ثابت.هذه القيمة يمكن أن تتغير.أردت فقط بساطة الإعلان والبدء بضربة واحدة.كما لو أن أي شيء في عالم الكودوم بسيط.يتكون كل اسم نوع من أكثر من 20 حرفًا وينتهي بك الأمر ببناء أشجار التعبير الضخمة هذه.يجعل عيني علة.أنا على قيد الحياة اليوم فقط بفضل إعادة التنسيق التي قام بها resharper.

هل كانت مفيدة؟

المحلول

بمجرد إنشاء مثيل CodeMemberField الخاص بك لتمثيل الحقل الثابت، يمكنك تعيين خاصية InitExpression للتعبير الذي تريد استخدامه لملء الحقل.

نصائح أخرى

هذا المشنور بقلم عمر فان كلويتن يبدو أنك تفعل ما تريد.لاحظ أن الإخراج يحتوي على السطر:

private static Foo instance = new Foo();

أعتقد أن ما تريده هو ثابت وليس ثابتًا.أفترض أن ما تريده هو تأثير وجود قراءة ثابتة فقط ولهذا السبب تريد دائمًا أن تكون القيمة 5.

في لغة C#، يتم التعامل مع الثوابت بنفس الطريقة التي يتم بها التعامل مع الثوابت الثابتة للقراءة فقط.

من مستندات C#:

على الرغم من أن الثوابت تعتبر أعضاء ثابتة ، إلا أن إعلان ثابت لا يتطلب أو يسمح بتعديل ثابت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top