2009-11-07 3 views
1

При проверке объектной модели .net в окне «Обозреватель объектов» я столкнулся с отсутствием информации о закрытых классах.Запечатанные классы и обозреватель объектов

Если, например, один переходит в mscorlib контейнер -> Система имен -> Строка класса, детали панели отображается следующая информация:

общественного класса Струнный
          Член Система

Резюме:
Представляет текст как последовательность символов Юникода.

Атрибуты:
[System.Runtime.InteropServices.ComVisibleAttribute (правда), System.Reflection.DefaultMemberAttribute ("Символы")]

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

Тем не менее, в то время как следующий Apress - Pro C# 2008 and the .Net 3.5 Platform, Эндрю Troelsen, автор показывает, на странице 188, как объект браузер отображает запечатанный статус:

alt text http://i34.tinypic.com/20gzbb6.jpg

эта информация была удалена из Visual Studio 2008 объект браузера ? Могу ли я вернуть его каким-то образом?

Хотя автор упоминает Visual Studio 2008 во всем тексте, этот скриншот должен быть из предыдущей версии. Книга действительно находится в ее 4-м выпуске и началась в 2001 году с .Net 1.0 Beta 2.

ответ

1

Я знаю, что прошло пару лет, но я бы просто хотел подтвердить, что вижу это в VS2k8 SP1, но только для String.

Я думаю, это потому, что String является единственным class, который был отмечен как «специальный» (примитивный тип, возможно?) Вместе с Integer, Long и т.д., которые все ValueTypes (structures).

Обратите внимание на изображение в вопросе SByte, Single и String сделать не имеют один и тот же значок в TreeView LHS, где, как они это делают сейчас.

Редактировать: Прошло еще пару лет, и я только что заметил для VB.NET в VS2k8 SP1 он делаетPublic NotInheritable Class String, когда у меня есть обозреватель объектов. Выбирайте выделение для My Project или All Components *, но только Public Class String, когда я выбираю определенную .NET Framework (и все же атрибуты перечислены, тогда как они не являются в других вариантах выбора).

* Как на дисплее, снятом в OP!

NB Он обновляет дисплей только в том случае, если вы переместили String и снова включили его в дереве дерева LHS. И VS2010 SP1 ведет себя одинаково.

В VS2010 я вижу, все компоненты, показывая String и как NotInheritable для .NET 4, и «пустой» для .NET 2 и Silverlight, но я не могу подтвердить то, что в настоящее время показывает VS2008 в подобной ситуации.

1

У моей Visual Studio 2008, похоже, нет этой проблемы. Вы обновлены до SP1? У вас есть другие инструменты или надстройки, которые изменяют функциональность браузера объектов?

+0

Я запускаю VS Team System 2008 - Командный костюм из моей подписки на MSDN. Он обновляется до SP1. Может ли кто-то подтвердить подобное поведение в этом SKU? –

Смежные вопросы