Сохранение пространств имен для внутренних классов от появления в intellisense
Я пишу библиотеку классов, которая содержит классы с чисто внутренними членами. Я разделил их на пространства имен. В этих внутренних классах нет открытых или защищенных членов.
Дело в том, что когда я использую эту библиотеку классов в клиентском приложении, эти пространства имен появляются в intellisense. конечно, они не содержат доступных элементов, поэтому он просто заканчивается, но я беспокоюсь, что это может запутать пользователей библиотеки
пример:
namespace mynamespace.yournamespace { internal class blah { internal void function1(){}; internal void function2(){}; } }
При наружном применении intellisense покажет для: mynamespace.yournamespace, но не предлагать никаких членов (потому что они внутренние).
Вопрос в том, есть ли способ предотвратить появление этих внутренних классов в intellisense, или я просто ни о чем не беспокоюсь? или.....если он внутренний, то нужно ли ему вообще собственное пространство имен?
Любая помощь ценится
(есть аналогичная запись по адресу: Как я могу предотвратить появление в Intellisense открытого класса, предоставляющего методы расширения? что это было неубедительно.)
3 ответа:
Нет, я не думаю, что есть способ.
На основе ошибки
Ошибка 1 объявление пространства имен не может иметь модификаторов или атрибутов
Я не вижу, как можно указать, что пространство имен должно быть скрыто.
Единственный (?) в противном случае это можно было бы сделать с помощью списков включения/исключения в настройках Intellisense, но их там нет.
Вы можете попробовать
EditorBrowsableAttribute
- он документирован, чтобы скрыть член класса, определенного в другой сборке, но сохраняет его видимым, если это та же сборка. Звучит идеально дляinternal
- хотя я сам этого не пробовал.Я думаю, что это не сработало в вашем связанном вопросе, потому что он предназначен только для свойств или методов: "указывает, что свойство или метод можно просмотреть в Редакторе."
Попробуйте этот ответ пользовательский intellisense для серверных элементов управления?