为什么EditorBrowsable不起作用?

use*_*291 27 c# winforms

我尝试隐藏intellisense中的继承属性EditorBrowsable(如此处所述隐藏来自IntelliSense的用户控件属性),在以客户端形式进行测试时虽然我仍然可以看到它为什么?

[
Category("Main"),
Description("Text"),
Obsolete("Don't use this"),
Browsable(false),
EditorBrowsable(EditorBrowsableState.Never)
]
public override String Text
{
    get { return null; }
}
Run Code Online (Sandbox Code Playgroud)

com*_*cme 43

你在使用Resharper吗?似乎Resharper不遵守EditorBrowsable属性.
如果我关闭Resharper,我看不到我的财产.如果我打开Resharper,它确实会显示出来.

在Resharper选项中,转到Environment | 智能感知| 完成外观并选中"按[EditorBrowsable]属性过滤成员".

您仍然需要引用程序集,如果您引用usercontrol的项目,它在解决方案中不起作用.


Han*_*ant 21

我责备.MSDN文章中有一条关于此的注释:

在Visual C#中,EditorBrowsableAttribute不会抑制同一程序集中的类的成员.

奇怪的是,当我把UserControl不同的组件放在同一个解决方案中时,我不认为它会抑制它.
你可能想ping 一下connect.microsoft.com,这是不对的.

  • 几年过去了,但对于任何感兴趣的人:https://github.com/dotnet/roslyn/issues/4434 (3认同)

Jer*_*her 9

正如本回答中的评论所述:

如果您只是导入dll,则editorbrowsable只隐藏方法,而不是如果您在解决方案中引用另一个项目我认为