Почему EditorBrowsable не работает? - PullRequest
24 голосов
/ 14 декабря 2010

Я пытался скрыть унаследованное свойство в intellisense с помощью EditorBrowsable (как здесь сказано Скрытие свойств пользовательского элемента управления от IntelliSense ) при тестировании в форме клиента, хотя я все еще вижу его, почему?

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

Ответы [ 4 ]

43 голосов
/ 14 декабря 2010

Вы используете Resharper?Кажется, что Resharper не подчиняется атрибуту EditorBrowsable.Если я отключу Resharper, я не вижу свою собственность.Если я включу Resharper, он покажет .

В опциях Resharper перейдите в Environment |IntelliSense |Внешний вид завершения и отметьте «Фильтровать элементы по атрибуту [EditorBrowsable]».

Однако вам все равно придется ссылаться на сборку, она не будет работать в решении, если вы ссылаетесь на проект вашего usercontrol.

20 голосов
/ 14 декабря 2010

Я репро.В статье MSDN есть примечание об этом:

В Visual C # EditorBrowsableAttribute не подавляет элементы из класса в одной сборке.

Как ни странноНе вижу, чтобы это подавляло и то, когда я помещал UserControl в другую сборку в том же решении.Возможно, вы захотите пропинговать connect.microsoft.com об этом, что-то не так.

7 голосов
/ 23 августа 2014

Как сказано в комментариях :

editorbrowsable скрывает метод, только если вы просто импортируете DLL, а не если вы ссылаетесь на другой проект в решении, я думаю

0 голосов
/ 17 октября 2018

Вы пробовали это:

Visual Studio> Инструменты> Параметры> Общие> Скрыть предварительных членов

Отметьте «Скрыть предварительные члены», помните, что в Visual C # EditorBrowsableAttribute не подавляет элементы из класса в одной сборке.

EditorBrowsableAttribute Class

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...