Изучение сборки .NET Framework с помощью утилит ildasm. Exe и Reflector

Утилита ildasm.exe (Intermediate Language Disassembler – дизассемблер IL), поставляемая в составе пакета .NET Framework 4 SDK, позволяет загружать любую сборку .NET и изучать ее содержимое, в том числе ассоциируемый с ней манифест, IL-код и метаданные типов (Рис. 4).

Изучение сборки .NET Framework с помощью утилит ildasm. Exe и Reflector - student2.ru

Рис. 4.

Помимо содержащихся в сборке пространств имен, типов и членов, утилита ildasm.exe позволяет просматривать IL-инструкции, которые лежат в основе каждого конкретного члена. Например, в результате двойного щелчка на методе открывается отдельное окно с IL-кодом, лежащим в основе этого метода (Рис. 5.).

Изучение сборки .NET Framework с помощью утилит ildasm. Exe и Reflector - student2.ru

Рис. 5.

Для просмотра метаданных типов, которые содержатся в загруженной в текущий момент сборке, необходимо нажать комбинацию клавиш <Ctrl+M>. Чтобы просмотреть содержимое манифеста сборки, необходимо дважды щелкнуть на значке MANIFEST (Рис. 6.).

Изучение сборки .NET Framework с помощью утилит ildasm. Exe и Reflector - student2.ru

Рис. 6.

Хотя утилита ildasm.exe и применяется очень часто для просмотра деталей двоичного файла .NET, одним из ее недостатков является то, что она позволяет просматривать только лежащий в основе IL-код, но не реализацию сборки с использованием предпочитаемого управляемого языка. Существует множество других утилит для просмотра и декомпиляции объектов .NET, в том числе и популярная утилита Reflector[1] (Рис. 7).

Изучение сборки .NET Framework с помощью утилит ildasm. Exe и Reflector - student2.ru

Рис. 7.

3. Урок 3: Написание приложений на C#

Урок описывает структуру простого приложения C#, содержащего один или несколько классов. Урок описывает, как ссылаться на функциональность, определенную в классах в других сборках и библиотеках, в частности, как можно использовать класс Console библиотеки классов .NET Framework для выполнения простых операций ввода-вывода. В уроке объясняется, как и почему рекомендуется добавлять комментарии к приложениям.

Классы и пространства имен

Visual C# является объектно-ориентированным языком, использующим классы и пространства имен для разделения приложения .NET Framework на модули, как на логические компоненты.

Класс по существу чертеж, определяющий характеристики сущности, и включает в себя свойства, определяющие типы данных, которые может содержать объект, и методы, описывающие поведение объекта. Пространство имен представляет собой логический набор классов. Классы хранятся в сборках, а пространство имен является средством для устранения неоднозначности классов, которые могут иметь одинаковые имена в различных сборках. Например, пространство имен System.IO включает в себя следующие классы, которые позволяют управлять файловой системой Windows. Однако, можно создать классы с таким же названием и в собственном пространстве имен:

· File

· FileInfo

· Directory

· DirectoryInfo

· Path

Для использования класса, определенного в .NET Framework, следует выполнить следующие задачи:

1. Добавить ссылку на сборку, которая содержит скомпилированный код для класса.

2. Добавить пространство имен, которое содержит класс, в область видимости.

При разработке приложения .NET Framework для записи текста в новый файл в файловой системе Windows, импортируется пространство имен System.IO, для этого используется ключевое слово using[2], а затем используется метод WriteAllText класса File.

using System;

using System.IO;

using System.Collections;

Наши рекомендации