كيف يمكنك إضافة منطق إضافي لكتابة الدقة في وقت التشغيل؟

StackOverflow https://stackoverflow.com/questions/122544

  •  02-07-2019
  •  | 
  •  

سؤال

هل هناك طريقة عامة، دون إنشاء مضيف CLR الخاص بك وإدارته، لتولي تحديد موقع النوع وتحميله إذا لم يتم العثور على هذا النوع؟

ما يلي هو مجرد مثال.في اندفاعك لتكون الإجابة الأولى، لا تقترح إطار العمل الإضافي الجديد أو MEF كحل لسؤالي.

على سبيل المثال سيكون عينة مع الوظائف الإضافية.يقرأ تطبيقك ملفًا يسرد الأنواع التي سيتم استخدامها لوظيفة معينة.يحاول التطبيق إنشاء مثيل لهذه الأنواع.إذا لم يتم تحميلها حاليًا في مجال التطبيق، فستفشل الطريقة.أنا أبحث عن حدث يمكنني التعامل معه أو مكون يمكنني توفير التنفيذ الخاص بي له والذي سيسمح لي بالتعامل مع هذه المواقف بأمان وتوفير منطق إضافي لتحميل هذه التجميعات.


بقدر ما أستطيع أن أقول (ما لم يكن لدى شخص ما مثال يعمل) لا يتم إطلاق أي من أحداث AppDomain المذكورة حتى الآن عندما لا يتم العثور على النوع.


انتظر، على ما يبدو هذا يعمل!لست متأكدًا من الخطأ الذي ارتكبته من قبل، ولكن هذا الحدث جيد جدًا.

هل كانت مفيدة؟

المحلول

هناك أحداث على مجال التطبيق التي يمكنك استخدامها.

كنت تريد TypeResolve الحدث، وربما حل التجميع حدث.

يمكنك أيضًا قراءة المزيد حول كيفية يعمل .net runtime على حل التجميعات, ، لذلك من الممكن أن تحدد هذه المعلومات في قسم الفحص.

نصائح أخرى

أليس هذا ممكنًا فقط باستخدام أحداث AppDomain؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top