Подтвердить что ты не робот

Почему EditorBrowsable не работает?

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

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

Ответ 1

Я повторяю. В статье MSDN есть примечание:

В Visual С#, EditorBrowsableAttribute не подавляет участников из класса в той же сборке.

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

Ответ 2

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

В параметрах Resharper перейдите к окружению | IntelliSense | Завершение Внешний вид и проверка "Фильтровать элементы с помощью атрибута [EditorBrowsable]".

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

Ответ 3

Как сказано в этом ответе:

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