我理解Browsable属性应该如何工作。它应该隐藏属性在设计时显示在PropertyGrid中。
它还有另一个作用,它会阻止一个Property出现在诸如Grids之类的组件中,或者特别是Infragistics WinGrid。我不确定它是否在常规Windows窗体网格上有这种行为。
这样可行,但在用于“运行时”显示网格组件上的属性时,听起来并不像预期的那样使用Browsable。
Microsoft正确使用的任何文献。即使它有效,我也不想使用此属性来隐藏绑定到业务对象的网格上的列,如果它确实不是属性的正确用法,而是某些网格供应商决定使用它来确定属性可见性他们的网格。
答案 0 :(得分:1)
.NET Framework Guidelines中没有规则说属性应该是针对其设计或常用的类型所独有的。重复使用它们肯定有助于程序员记住较少的类名,只要他/她不必使用/ Imports指令和程序集引用来跳过箍。不是Windows窗体控件的问题。
当通常习惯于影响设计时行为时,给出属性运行时行为并不是我的选择。这是Infragistics,我能说什么......
答案 1 :(得分:0)
Microsoft“Browsable”属性与隐藏Grid列无关。
它只指定属性是否应显示在Visual Studio Designer(或PropertyGrid组件)的“属性”窗口中。 标记为BrowsableAttribute为false的成员不适合设计时编辑,因此不会显示在可视化设计器中。
这就是这个属性。我们不能在这里讨论“最佳实践”,就像我们讨论“可见”按钮属性的最佳实践一样。