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