TypeDescriptor.CreateProperty لا تضيف خاصية
-
05-07-2019 - |
سؤال
أنا أحاول إضافة خاصية نوع باستخدام TypeDescriptor.CreateProperty من أجل عرض خاصية إضافية في خاصية الشبكة ، غير أن هذا العقار الجديد لا يتم إضافة وعندما أتصل TypeDescriptor.GetProperties على هذا النوع من فحص خصائص هذه الخاصية غير موجود.
هناك شيئا ما قد يكون مفقودا أو يطل ؟ هذا هو الأساسية بسيطة السيناريو بقدر ما أتذكر.
هنا هو الدعوة:TypeDescriptor.CreateProperty(typeof (MovieMenuItem), "ExternalMediaLocation", typeof (سلسلة), null);
المحلول
CreateProperty
فقط تعطي انعكاس على أساس PropertyDescriptor
نوع السؤال (ليس AddProperty
, على سبيل المثال).ما هو السيناريو هنا ؟ إذا كنت بحاجة فقط الى عرض بيانات إضافية في DataGridView
, أبسط الخيار هو ببساطة إضافة إضافية غير منضم عمود الشبكة.
لك يمكن تمديد أنواع في وقت التشغيل ، ولكن على قوائم لديك خياران رئيسيان:
ITypedList
(إن كل حالة من قائمة أعمدة مختلفة) - انظر هذا الجوابTypeDescriptionProvider
- يسمح لك لإضافة خصائص مخصصة لكل نوع (يغلي في نهاية المطاف الى كتابةPropertyDescriptor
, مثل المثال الأول - ولكن مختلفة السنانير)
الكامل في قواعد قائمة على أساس البيانات الوصفية هو المنال في هذا الجواب