首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将PropertyDescriptors添加到类中而不是重写它们?

如何将PropertyDescriptors添加到类中而不是重写它们?
EN

Stack Overflow用户
提问于 2009-08-10 19:49:58
回答 1查看 1.3K关注 0票数 1

如果我有一个实现ICustomTypeDescriptor的类,我可以重写GetProperties()方法,以便用自定义PropertyDescriptors.完全替换该类的所有属性。

但是,如果我想保留类的现有属性并将其他属性附加到类中,该怎么办?是否有方法返回添加到现有类属性中的一组自定义属性描述符?

例如,我希望用户能够在我的程序中定义将显示在属性网格中的自定义属性。自定义属性值的值将存储在一个PropertyDescriptors字典(字符串键,对象值)集合中,并且我希望追加,它也将根据键值从这个集合读取和写入值。

我不认为IExtenderProvider会工作,因为它只将一个类的属性添加到另一个类中。但是我需要能够在运行时动态地添加和删除这些属性。我是否可以有一个IExtenderProvider类,它也实现了ICustomTypeDescriptor,以便它添加的属性可以在运行时被计算出来?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-10 20:21:11

只需将以下内容添加到当前集合中:

代码语言:javascript
复制
    public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
    {
        PropertyDescriptorCollection cols = base.GetProperties(attributes);
        cols.Add(); // Add your custom property descriptor here
        return cols;
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1256854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档