PropertyDescriptor
是一个抽象类,自定义属性描述符可以从中继承。该类具有IsBrowsable
属性,根据MSDN:
获取一个值,该值指示成员是否可浏览,如BrowsableAttribute中所指定。 (继承自MemberDescriptor。)
我的问题是,此属性与BrowsableAttribute
中PropertyDescriptor.Attributes
的关联属性有何关联(例如通过向属性添加[Browsable(false)]
装饰器来定义?
我的困惑是因为我设法将BrowsableAttribute
替换为PropertyDescriptor.Attributes
一个新的IsBrowsable
,这与BrowsableAttribute
不一致。
更新
根据Marc的回答,我必须让IsBrowsable
与{{1}}保持同步吗?您是否知道任何可能看到一个而不是另一个的控件?
答案 0 :(得分:3)
默认的PropertyDescriptor实现使用反射并查看BrowsableAttribute。但是,如果您提供自己的PropertyDescriptor实现,那么您负责 - 很少有事情需要遵循。如果您的自定义实现使用不相关的方式来确定哪些/不可浏览:这取决于您的实现。