2

PropertyDescriptor是自定义属性描述符可以继承的抽象类。该类有一个IsBrowsable属性,根据 MSDN:

获取一个值,该值指示成员是否可浏览,如 BrowsableAttribute 中所指定。(继承自 MemberDescriptor。)

我的问题是,对于关联的属性(例如通过将装饰器添加到属性中来定义),这个属性与BrowsableAttributein有什么关系?PropertyDescriptor.Attributes[Browsable(false)]

我的困惑源于我设法将 替换为BrowsableAttribute一个PropertyDescriptor.Attributes新的,这与IsBrowsable.

更新 继 Marc 的回答后,我必须与 保持BrowsableAttribute同步IsBrowsable吗?您是否知道任何可能只看到一个但看不到另一个的控件?

4

1 回答 1

3

默认的 PropertyDescriptor 实现使用反射并查看 BrowsableAttribute。但是,如果您提供自己的 PropertyDescriptor 实现,那么您负责- 需要遵循的事项很少。如果您的自定义实现使用不相关的方式来确定什么是/不可浏览:这取决于您的实现。

于 2013-06-09T13:59:01.907 回答