1.8 KiB
title | localeTitle |
---|---|
nameof Expressions | nameof التعبيرات |
nameof التعبيرات
في بعض الأحيان تحتاج إلى اسم سلسلة متغير أو نوع أو عضو لأشياء مثل رفع استثناء أو تسجيل أو إطلاق خاصية تغيير الأحداث. قبل C # 6.0 ، قد تستخدم سلسلة حرفية لهذه الأغراض.
public void ProcessStudent(Student student) { if (student == null) throw new ArgumentNullException("student"); }
ومع ذلك ، إذا كان سيتم إعادة تسمية المعلمة الطالب ، يجب عليك أن تتذكر أيضا تعديل سلسلة حرفية. الآن مع تعبير nameof ، لن تحتاج إلى استخدام القيم الحرفية للسلسلة وسيتمكن المترجم من تحذيرك إذا كنت تستخدم اسمًا غير صحيح.
public void ProcessStudent(Student student) { if (student == null) throw new ArgumentNullException(nameof(student)); }
بعض الأمثلة من حيث قد تكون تعبيرات nameof مفيدة تشمل:
- رمي الاستثناءات أثناء التحقق من صحة المعلمة
- تمرير اسم الإجراء عند إعداد روابط إجراءات MVC
- الحاجة إلى تمرير اسم خاصية عند إطلاق الحدث الذي تم تغييره في فئة تقوم بتطبيق INotifyPropertyChanged
- تمرير اسم خاصية عند تسجيل خاصية تبعية XAML
- بما في ذلك المتغير أو النوع أو اسم العضو عند التسجيل
تجدر الإشارة إلى أنه إذا قمت بتوفير nameof باسم مؤهل ، سيقوم المحول البرمجي بإنشاء سلسلة لاسم أقصى اليمين.