freeCodeCamp/guide/arabic/csharp/nameof-expressions/index.md

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