Почему 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; }
}
Ответы
Ответ 1
Я повторяю. В статье MSDN есть примечание:
В Visual С#, EditorBrowsableAttribute не подавляет участников из класса в той же сборке.
Как ни странно, я не вижу, чтобы это подавляло его, когда я помещал UserControl
в другую сборку в том же решении.
Возможно, вы захотите выполнить ping connect.microsoft.com об этом, что-то не так.
Ответ 2
Вы используете Resharper? Кажется, что Resharper не подчиняется атрибуту EditorBrowsable
.
Если я выключу Resharper, я не вижу свое свойство. Если я включу Resharper, это покажет.
В параметрах Resharper перейдите к окружению | IntelliSense | Завершение Внешний вид и проверка "Фильтровать элементы с помощью атрибута [EditorBrowsable]".
Вам все равно придется ссылаться на сборку, но она не работает в рамках решения, если вы ссылаетесь на свой проект usercontrol.
Ответ 3
Как сказано в этом ответе:
editorbrowsable только скрывает этот метод, если вы просто импортируете DLL, а не если вы ссылаетесь на другой проект в решении, я думаю,