1.8 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.8 KiB
		
	
	
	
	
	
	
	
title, localeTitle
| 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 باسم مؤهل ، سيقوم المحول البرمجي بإنشاء سلسلة لاسم أقصى اليمين.