Поделиться через


Моделирование и анализ кода (Visual C#)

Обновлен: Ноябрь 2007

Часто разработчикам программного обеспечения приходится работать с исходным кодом, базовая архитектура которого неизвестна по той причине, что код был либо написан другим разработчиком или был написан настолько давно, что его создатели совершенно не помнят как он работает. Вторым распространенным случаем является необходимость понять содержимое библиотеки, доступной исключительно в двоичном формате. В Visual C# имеются следующие средства, призванные помочь в моделировании, анализе и понимании типов и отношений типов в исходном коде и двоичных сборках:

  • Конструктор классов для визуального представления наследования и связей между типами.

  • Обозреватель объектов для анализа типов, методов и событий, экспортированных сборками .NET Framework, а также исходных библиотек DLL с COM-объектами.

  • Метаданные в качестве источника для просмотра сведений о типах в управляемых сборках, как если бы это был исходный код в собственном проекте.

В дополнение к средствам, перечисленным выше, система Visual Studio Team System включает средство анализа управляемого кода, с помощью которого можно проверить код на наличие разнообразных потенциальных проблем.

Конструктор классов

Конструктор классов представляет собой графическое средство для визуального моделирования связей между типами в приложении или компоненте; конструктор классов можно использовать для создания новых типов и оптимизации или удаления существующих. На следующем рисунке показан простой класс.

Схема конструктора класса

Чтобы добавить схему классов в проект, в меню Проект щелкните Добавить новый элемент, а затем щелкните Добавить схему классов.

Дополнительные сведения см. в разделе Разработка и просмотр классов и типов.

Обозреватель объектов

Обозреватель объектов позволяет просматривать сведения о типах как в собственных, так и в управляемых библиотеках DLL, включая COM-объекты. В то время как сведения, отображаемые в обозревателе объектов аналогичны сведениям в представлении класса, при помощи обозревателя объектов можно проанализировать любую библиотеку DLL в системе, а не только библиотеки, на которые имеются ссылки в проекте. Кроме того, в обозревателе объектов также отображаются комментарии XML-документации для выбранного типа. На следующем рисунке показано, как в обозревателе объектов отображаются сведения о типах в двоичных файлах.

Обозреватель объекта, демонстрирующий System.Timer

Дополнительные сведения см. в разделе Обозреватель объектов.

Метаданные как источник

Метаданные в качестве источника позволяют просматривать сведения о типах для классов в управляемых сборках, как если бы это был исходный код в собственном проекте. Таким образом удобно быстро просматривать все подписи для всех открытых методов в классе, когда к фактическому исходному коду не доступа.

Например, если в редакторе кода ввести оператор System.Console.WriteLine(), установить курсор на Console, а затем щелкнуть правой кнопкой и выбрать команду Перейти к определению, можно будет увидеть как выглядит файл исходного кода, содержащий объявление класса Console. Это объявление формируется из метаданных в сборке при помощи Отражение, и хотя это не предоставляет реализацию какого-либо метода, любые существующие комментарии XML-документации просмотреть можно.

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

Дополнительные сведения и примеры см. в разделе Метаданные как исходный код.

Анализ управляемого кода

Средство анализа управляемого кода позволяет проанализировать управляемые сборки и получить сведения о потенциальных проблемах безопасности и нарушениях правил программирования и разработки, установленных руководствами по разработке Microsoft .NET Framework. Эти данные представляются в виде предупреждений. Чтобы вызвать это средство, в конструкторе проектов щелкните правой кнопкой мыши Свойства в Обозревателе решений и выберите Открыть.

Дополнительные сведения см. в разделах "Анализ кода", конструктор проекта и Общие сведения об анализе управляемого кода.

См. также

Основные понятия

Редактирование кода (Visual C#)

Ссылки

Отражение (Руководство по программированию на C#)

Другие ресурсы

Использование интегрированной среды разработки Visual C#

Руководство по разработке библиотек классов

Правила разработки исключений

Правила разработки членов

Правила разработки типов