سؤال

أنا أحاول إضافة خاصية نوع باستخدام TypeDescriptor.CreateProperty من أجل عرض خاصية إضافية في خاصية الشبكة ، غير أن هذا العقار الجديد لا يتم إضافة وعندما أتصل TypeDescriptor.GetProperties على هذا النوع من فحص خصائص هذه الخاصية غير موجود.

هناك شيئا ما قد يكون مفقودا أو يطل ؟ هذا هو الأساسية بسيطة السيناريو بقدر ما أتذكر.

هنا هو الدعوة:TypeDescriptor.CreateProperty(typeof (MovieMenuItem), "ExternalMediaLocation", typeof (سلسلة), null);

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

المحلول

CreateProperty فقط تعطي انعكاس على أساس PropertyDescriptor نوع السؤال (ليس AddProperty, على سبيل المثال).ما هو السيناريو هنا ؟ إذا كنت بحاجة فقط الى عرض بيانات إضافية في DataGridView, أبسط الخيار هو ببساطة إضافة إضافية غير منضم عمود الشبكة.

لك يمكن تمديد أنواع في وقت التشغيل ، ولكن على قوائم لديك خياران رئيسيان:

  • ITypedList (إن كل حالة من قائمة أعمدة مختلفة) - انظر هذا الجواب
  • TypeDescriptionProvider - يسمح لك لإضافة خصائص مخصصة لكل نوع (يغلي في نهاية المطاف الى كتابة PropertyDescriptor, مثل المثال الأول - ولكن مختلفة السنانير)

الكامل في قواعد قائمة على أساس البيانات الوصفية هو المنال في هذا الجواب

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