gpt4 book ai didi

c# - 在运行时从自定义 UITypeEditor 中的属性上插入自定义 TypeConverter

转载 作者:太空宇宙 更新时间:2023-11-03 11:49:08 27 4
gpt4 key购买 nike

我创建了一个自定义 UITypeEditor。

我能否从 UITypeEditor 类内部插入一个属性,该属性也将 TypeConverter 附加到我的属性?

我已经尝试了以下方法,但无论我如何扭曲和转动它都没有任何反应:

Attribute[] newAttributes = new Attribute[1];
newAttributes[0] = new TypeConverterAttribute(typeof(BooleanConverter));

现在,上面需要以某种方式附加以下内容:

TypeDescriptor.AddAttributes(context.Instance.PROPERTYNAME, newAttributes);

...但首先我不知道如何以通用方式访问相关属性,而且我尝试的所有代码都失败了。即使我尝试以这种方式全局分配 TypeConverter,它也会失败。 (不过,将其设置为属性本身的属性是可行的,只是为了排除该部分中的错误。)

最佳答案

TypeDescriptor 允许您向类型对象添加属性(至少,就System.ComponentModel 而言) - 但不是特定属性。要做到这一点(通常需要 TypeDescriptionProvider - 但是,请注意,这不是一件容易实现的事情,您需要编写所有:

  • 提供商本身
  • ICustomTypeDescriptor
  • 一个 PropertyDescriptor 用于你想要操作的东西

它是 PropertyDescriptor 可以让你假装你有额外的属性(或者,通过 override 更直接地改变 Converter,没有弄乱属性)。

关于c# - 在运行时从自定义 UITypeEditor 中的属性上插入自定义 TypeConverter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2535647/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com