Создание сборки .NET на CIL.
Ознакомившись с синтаксисом и семантикой языка CIL, пришла пора закрепить изученный материал, создав .NET-приложение с использованием одной только утилиты…
Ознакомившись с синтаксисом и семантикой языка CIL, пришла пора закрепить изученный материал, создав .NET-приложение с использованием одной только утилиты…
Объявление локальных переменных в CIL Давайте посмотрим, как в CIL объявлять локальную переменную. Для этого предположим, что необходимо создать…
Последний аспект CIL-кода связан с ролью, которую играют различные коды операций. Вспомните, что под кодом операции понимается лексема CIL,…
Как уже известно, типы в .NET могут иметь различные члены. Так, перечисления могут иметь набор пар имен и значений,…
Определение и реализация интерфейсов в CIL Как ни странно, но типы интерфейсов в CIL тоже определяются с использованием директивы…
В данной статье мы рассмотрим реализацию специального пространства имен с набором всех базовых конструкций. Добавление ссылок на внешние сборки…
Теперь, когда стало более понятно, как изнутри выглядит типичный файл CIL-кода, давайте завершим эксперимент с двунаправленным проектированием. Для этого…
Утилита ildasm.exe предназначена для просмотра генерируемого компилятором C# кода CIL. Эта утилита также позволяет сбрасывать CIL-код, содержащийся внутри загруженной…
В языках .NET более высокого уровня (вроде C#) низкоуровневые детали CIL обычно насколько возможно скрываются из виду. Одной из…
Язык CIL является самым настоящим “родным” языком для платформы .NET. При создании .NET-сборки с помощью того или иного языка…
Домены приложений представляют собой логические разделы внутри процесса, которые используются для обслуживания сборок .NET. Однако на этом дело не…
Один процесс способен обслуживать множество доменов приложений посредством статического метода AppDomain.CreateDomain(). И хотя необходимость в создании новых доменов приложений…
При запуске исполняемого файла .NET среда CLR автоматически помещает его в используемый по умолчанию домен приложения внутри обслуживающего процесса….
В .NET исполняемые файлы не обслуживаются прямо внутри процесса Windows, как это происходит в случае традиционных неуправляемых приложений. Вместо…
Помимо полного списка всех выполняющихся на конкретной машине процессов, статический метод Process.GetProcessById() позволяет получать информацию и по конкретному объекту…
Хотя в самих процессах и потоках нет ничего нового, способ, которым с ними можно взаимодействовать в рамках платформы .NET,…
Понятие “процесса” существовало в операционных системах Windows задолго до появления платформы .NET. Попросту говоря, под процессом понимается выполняющаяся программа….
В данной статье я предлагаю посмотреть комплексный пример использования рефлексии, позднего связывания и атрибутов. Давайте предположим, что была поставлена…
Атрибуты можно также применять ко всем типам внутри конкретного модуля (если речь идет о многофайловой сборке) или ко всем…
В .NET Framework разработчику разрешено определять собственные атрибуты. Понятно, что эти атрибуты никак не отражаются на процессе компиляции, поскольку…