سؤال

أقوم حاليًا بملء شبكة WPF باستخدام مجموعة بيانات تنفذ ITypedList, ، مع تنفيذ الكيانات الواردة ICustomTypeDescriptor. يتم تحديد جميع الخصائص في وقت التشغيل.

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

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

أي نصائح موضع تقدير كبير!

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

المحلول

ال HyperDescriptor التنفيذ محدد بالفعل لخصائص وقت الترجمة ، كما يستخدم ILGenerator الخ والخزهات الرمز الذي تم إنشاؤه. إذا كنت تستخدم ICustomDescriptor أنت سابقا في ملف تعريف أداء مختلف تمامًا - على سبيل المثال ، إذا كان العرف الخاص بك PropertyDescriptorعمل ضد قاموس أو جدول تجزئة كقاعدة عقارية قد يكونون سابقا تكون أسرع بكثير من الانعكاس الخام.

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

(توضيح: أنا مؤلف كتاب Hyperdescriptor ، لذلك أعرف هذه المنطقة جيدًا)

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