[C#] طريقة التمديد والكيان الديناميكي


Answers

للتوسع في إجابة جون، السبب في ذلك لا يعمل لأنه في أساليب تمديد التعليمات البرمجية غير الديناميكية العادية تعمل عن طريق إجراء بحث كامل من جميع الفئات المعروفة للمترجم لفئة ثابتة التي تحتوي على أسلوب التمديد يطابق. يتم البحث وفقا لترتيب مساحة الاسم ويتم توفيره using التوجيهات في كل مساحة اسم.

وهذا يعني أنه من أجل الحصول على استدعاء طريقة التمديد الديناميكي تم حلها بشكل صحيح، بطريقة أو بأخرى يجب أن تعرف دلر في وقت التشغيل كل التداخلات مساحة الاسم using التوجيهات في التعليمات البرمجية المصدر . ليس لدينا آلية مفيدة لترميز كل تلك المعلومات في موقع المكالمة. لقد اعتبرنا اختراع مثل هذه الآلية، ولكننا قررنا أنها كانت تكلفة مرتفعة جدا وأنتجت الكثير من المخاطر الجدول الزمني ليكون يستحق كل هذا العناء.

Question

سأقوم بتلخيص مشكلتي في مقتطف الشفرة التالي.

List<int> list = new List<int>() { 5, 56, 2, 4, 63, 2 };
Console.WriteLine(list.First());

فوق رمز يعمل بشكل جيد.

الآن حاولت ما يلي

dynamic dList = list;
 Console.WriteLine(dList.First());

ولكن أنا الحصول على RuntimeBinderException.Why هو عليه؟