Чтение онлайн

ЖАНРЫ

Язык программирования C#9 и платформа .NET5
Шрифт:

Атрибуты уровня сборки

Использование файла проекта для атрибутов сборки

Рефлексия атрибутов с использованием раннего связывания

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

Практическое использование рефлексии позднего связывания и специальных атрибутов

Построение расширяемого приложения

Построение мультипроектного решения ExtendableApp

Создание решения и проектов с помощью интерфейса командной строки

Добавление событий PostBuild в файлы проектов

Создание решения и проектов с помощью Visual Studio

Установка зависимостей проектов при компиляции

Добавление событий PostBuild

Построение сборки CommonSnappableTypes.dll

Построение оснастки на C#

Построение оснастки на Visual Basic

Добавление кода для ExtendableApp

Резюме

Глава 18

Роль ключевого слова dynamic языка C#

Вызов членов на динамически объявленных данных

Область использования ключевого слова dynamic

Ограничения ключевого слова dynamic

Практическое использование ключевого слова dynamic

Роль исполняющей среды динамического языка

Роль деревьев выражений

Динамический поиск в деревьях выражений во время выполнения

Упрощение вызовов с поздним связыванием посредством динамических типов

Использование ключевого слова dynamic для передачи аргументов

Упрощение взаимодействия с СОМ посредством динамических данных (только Windows)

Роль основных сборок взаимодействия

Встраивание метаданных взаимодействия

Общие сложности взаимодействия с СОМ

Взаимодействие с СОМ с использованием динамических данных C#

Резюме

Глава 19

Причины для изучения грамматики языка CIL

Директивы, атрибуты и коды операций CIL

Роль директив CIL

Роль атрибутов CIL

Роль кодов операций СIL

Разница между кодами операций и их мнемоническими эквивалентами в СIL

Заталкивание и выталкивание: основанная на стеке природа CIL

Возвратное проектирование

Роль меток в коде CIL

Взаимодействие c CIL: модификация файла *.il

Компиляция кода CIL

Директивы и атрибуты CIL

Указание ссылок на внешние сборки в CIL

Определение текущей сборки в CIL

Определение пространств имен в CIL

Определение типов классов в CIL

Определение и реализация интерфейсов в CIL

Определение структур в CIL

Определение перечислений в CIL

Определение обобщений в CIL

Компиляция файла CILTypes.il

Соответствия между типами данных в библиотеке базовых классов .NET Core, C# и CIL

Определение членов типов в CIL

Определение полей данных в CIL

Определение конструкторов типа в CIL

Определение свойств в CIL

Определение параметров членов

Исследование кодов операций CIL

Директива .maxstack

Объявление локальных переменных в CIL

Отображение параметров на локальные переменные в CIL

Скрытая ссылка this

Представление итерационных конструкций в CIL

Заключительные слова о языке CIL

Динамические сборки

Исследование пространства имен System.Reflection.Emit

Роль типа System.Reflection.Emit.ILGenerator

Выпуск динамической сборки

Выпуск сборки и набора модулей

Роль типа ModuleBuilder

Поделиться с друзьями: