Сохранение пространств имен для внутренних классов от появления в intellisense


Я пишу библиотеку классов, которая содержит классы с чисто внутренними членами. Я разделил их на пространства имен. В этих внутренних классах нет открытых или защищенных членов.
Дело в том, что когда я использую эту библиотеку классов в клиентском приложении, эти пространства имен появляются в intellisense. конечно, они не содержат доступных элементов, поэтому он просто заканчивается, но я беспокоюсь, что это может запутать пользователей библиотеки
пример:

    namespace mynamespace.yournamespace  
    {  
        internal class blah  
        {  
            internal void function1(){};  
            internal void function2(){};  
        }  
    }  

При наружном применении intellisense покажет для: mynamespace.yournamespace, но не предлагать никаких членов (потому что они внутренние).
Вопрос в том, есть ли способ предотвратить появление этих внутренних классов в intellisense, или я просто ни о чем не беспокоюсь? или.....если он внутренний, то нужно ли ему вообще собственное пространство имен?
Любая помощь ценится

(есть аналогичная запись по адресу: Как я могу предотвратить появление в Intellisense открытого класса, предоставляющего методы расширения? что это было неубедительно.)

3 3

3 ответа:

Нет, я не думаю, что есть способ.

На основе ошибки

Ошибка 1 объявление пространства имен не может иметь модификаторов или атрибутов

Я не вижу, как можно указать, что пространство имен должно быть скрыто.

Единственный (?) в противном случае это можно было бы сделать с помощью списков включения/исключения в настройках Intellisense, но их там нет.

Вы можете попробовать EditorBrowsableAttribute - он документирован, чтобы скрыть член класса, определенного в другой сборке, но сохраняет его видимым, если это та же сборка. Звучит идеально для internal - хотя я сам этого не пробовал.

Я думаю, что это не сработало в вашем связанном вопросе, потому что он предназначен только для свойств или методов: "указывает, что свойство или метод можно просмотреть в Редакторе."