ArgumentNullException.ThrowIfNull
التحقق السريع من null بـ ThrowIfNull ArgumentNullException.ThrowIfNull
دالة مساعدة ثابتة (منذ .NET 6) ترمي ArgumentNullException تلقائيًا إن كانت الوسيطة null، مع اكتشاف اسمها بلا كتابته يدويًا.
بدل كتابة `if (arg == null) throw new ArgumentNullException(nameof(arg));` في بداية كل دالة، تختصرها ThrowIfNull لسطر واحد. تعتمد على خاصية CallerArgumentExpression لاستنتاج اسم الوسيطة تلقائيًا من موقع الاستدعاء، فلا داعي لتمرير nameof يدويًا.
الفشل المبكر بفحص الوسائط في أول الدالة أوضح بكثير من NullReferenceException غامض بعد عشرين سطرًا داخل الدالة.
الصياغة
ArgumentNullException.ThrowIfNull(argument);
📄 مثال
void Process(Order order)
{
ArgumentNullException.ThrowIfNull(order);
// من هنا order مضمون أنه ليس null
Console.WriteLine(order.Total);
}أهم النقاط
| العنصر | الوظيفة |
|---|---|
| ThrowIfNull(arg) | يرمي ArgumentNullException إن كان arg يساوي null |
| اكتشاف الاسم تلقائي | لا حاجة لتمرير nameof(arg) يدويًا |
| متوفّرة منذ | .NET 6 وما بعده |
💡 نصائح عملية
- استخدمها في بداية الدوال العامة (public) التي تستقبل معاملات مرجعية من مستدعين خارجيين
⚠️ أخطاء شائعة
- الاعتماد على NullReferenceException لاحقًا بدل فحص مبكر — يجعل تتبّع مصدر null أصعب
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار CSHARP الكامل بالعربي.