Если у меня есть класс, который реализует ICustomTypeDescriptor , я могу переопределить метод GetProperties () , чтобы полностью заменить все свойства класса на мой пользовательский PropertyDescriptors,
Но что, если я хочу сохранить существующие свойства класса и добавить к нему дополнительные свойства? Есть ли способ вернуть набор пользовательских дескрипторов свойств, которые добавляются к существующим свойствам класса?
Например, я хочу, чтобы пользователь мог определять пользовательские свойства в моей программе, которые будут отображаться в сетке свойств. Значения пользовательских свойств будут храниться в словаре (строковый ключ, значение объекта) коллекции, и я хочу добавить PropertyDescriptors , который будет также читать и записывать значения и из этой коллекции на основе значений ключа.
Я не думаю, что IExtenderProvider будет работать, потому что он только добавляет свойства одного класса к другому. Но мне нужно иметь возможность добавлять и удалять свойства динамически во время выполнения. Могу ли я иметь класс IExtenderProvider , который также реализует ICustomTypeDescriptor , чтобы его свойства можно было определить во время выполнения?