Я пытаюсь добавить новое свойство к компоненту во время разработки. Свойство отображается в представлении проекта, но значение не может быть изменено и отображается как «Ссылка на объект, не установленная на экземпляр объекта». Если мне нужно создать экземпляр свойства, MSDN и google меня не удастся.Свойство компонента времени разработки, которое я добавляю, имеет нулевую опорную ошибку как неизменяемое значение в представлении дизайна
Куда я иду не так? Ниже приведена сокращенная версия кода, который я использую, что демонстрирует проблему.
[DesignerAttribute(typeof(designPropDesigner))]
public class designProp : Component
{
public class designPropDesigner : ComponentDesigner
{
protected override void PreFilterProperties(IDictionary properties)
{
base.PreFilterProperties(properties);
var prop = TypeDescriptor.CreateProperty(typeof(designPropDesigner), "prop", typeof(string), new Attribute[] { DesignOnlyAttribute.Yes, new DefaultValueAttribute("") });
properties.Add("prop", prop);
}
}
}