Я хочу скрыть общедоступные методы из списка участников IntelliSense. Я создал атрибут, который при применении к методу вызывает вызов метода при создании его объекта. Я сделал это, чтобы лучше поддерживать частичные классы. Проблема в том, что в некоторых средах (например, Silverlight) отражение не может получить доступ к закрытым членам, даже к членам дочерних классов. Это проблема, поскольку вся работа выполняется в базовом классе. Мне нужно сделать эти методы общедоступными, но я хочу, чтобы они были скрыты от IntelliSense, подобно тому, как работает атрибут Obsolete. Честно говоря, потому что я неравнодушен к инкапсуляции объектов. Я пробовал разные вещи, но ничего не помогло. Метод по-прежнему отображается в раскрывающемся списке участников.
Как сделать так, чтобы общедоступные методы не отображались в IntelliSense, если я не хочу, чтобы они вызывались клиентами? Как вам ответ на настоящий вопрос, филистимляне! Это также может относиться к свойствам MEF, которые должны быть общедоступными, хотя иногда вы хотите скрыть их от клиентов.
Обновление: я повзрослел как разработчик с тех пор, как опубликовал этот вопрос. Почему я так заботился о том, чтобы скрыть интерфейс, мне непонятно.