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