Ich versuche, eine neue Eigenschaft zu einer Komponente zu Entwurfszeit hinzuzufügen. Die Eigenschaft ist in der Entwurfsansicht sichtbar, aber der Wert kann nicht geändert werden und wird als "Objektreferenz nicht auf eine Instanz eines Objekts festgelegt" angezeigt. Wenn ich die Eigenschaft instanziieren muss, versagen MSDN und Google mich.Die Entwurfszeit-Komponenteneigenschaft, die ich hinzufüge, hat einen Null-Referenzfehler als unveränderlichen Wert in Entwurfsansicht
Wohin gehe ich falsch? Hier ist eine abgekürzte Version des Codes, den ich verwende, der das Problem demonstriert.
[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);
}
}
}