我已经创建了一个自定义的UITypeEditor。
我是否可以从里面的 UITypeEditor类中插入一个也将TypeConverter附加到我的属性的属性?
我尝试了以下内容,但无论如何扭转并转动它都没有任何反应:
Attribute[] newAttributes = new Attribute[1];
newAttributes[0] = new TypeConverterAttribute(typeof(BooleanConverter));
现在,上面需要以某种方式附加以下内容:
TypeDescriptor.AddAttributes(context.Instance.PROPERTYNAME, newAttributes);
...但首先我不知道如何以通用的方式访问有问题的财产,而我尝试的所有代码都失败了。即使我尝试以这种方式全局分配TypeConverter,它也会失败。 (将它设置为属性本身的属性虽然有效,但只是为了排除该部分中的错误。)
答案 0 :(得分:2)
TypeDescriptor
允许您向类型和对象添加属性(至少就System.ComponentModel
而言) - 但不是具体属性。要做到这一点(通常需要TypeDescriptionProvider
- 但是,请注意这不是一件容易实现的事情,你需要写下所有内容:
ICustomTypeDescriptor
PropertyDescriptor
用于您想要操作的内容 PropertyDescriptor
允许您假装有其他属性(或override
更直接更改Converter
,而不会弄乱属性)。