System.ComponentModel命名空间中存在EditorBrowsableAttribute。类型EditorBrowsableState具有以下成员:
这个烦人的属性可能是什么原因?特别是状态从不。它隐藏了功能,然后当你发现它时,你会觉得它很脏。因此,如果您在Microsoft工作并实现此类,请告诉我PLZ ...... :)
我能想象的唯一一个例子就是这个属性是有意义的,当你想要将某些东西标记为过时并将其隐藏在intellisense中以便更好地聚焦时。但在我遇到的所有情况下都使用了这个属性而没有过时的属性。我发现的最新例子是在wpf中使用Dispatcher.CheckAccess()方法。
答案 0 :(得分:7)
IMO是一个专门用于构建库的属性,在VS解决方案内部(当依赖关系不是外部的时),Intellisense将忽略它。有用的用例很少。
让我们首先看一下EditorBrowsableState.Advanced
:使用某些语言(特别是VB.NET),你可以指示IDE(实际上是Intellisense)隐藏高级成员,这样你就可以了只看到最常见的方法。对于初学者来说,减去 noise (当你掌握BCL的时候,你可以启用全视图,并且你不会被大量模糊的方法所暗示)。
EditorBrowsableState.Never
还有其他用法。
Form.Closing
事件(隐藏,因为Form.FormClosing
替换和扩展)。Keys.HanguelMode
,那么拼写错误就不可见了(但是为了兼容性而存在)。 InternalsVisibleToAttribute
公开所有内部详细信息更好。答案 1 :(得分:-1)
EditorBrowsableState属性主要用于Visual Designers。 EditorBrowsableState.Never适用于设计器表面中使用的UI Widget或Custom Control的某些属性与视觉设计方面无关或不适合的情况。