Генерирование типа HelloClass и принадлежащей ему строковой переменной

Генерирование типа HelloClass и принадлежащей ему строковой переменной

Теперь вы понимаете роль метода ModuleBuilder.CreateType(), и пришло время выяснить, как сгенерировать открытый тип класса HelloWorld и приватную строковую переменную.

// Определение открытого класса MyAssembly.HelloWorld.

TypeBuilder helloWorldClass = module.DefineType("MyAssembly.HelloWorld", TypeAttributes.Public);

// Определение принадлежащей классу приватной переменной String

// с именем theMessage.

FieldBuilder msgField =hellоWоrldclass.DefineField("theMessage", typeof(string), FieldAttributes.Private);

Обратите внимание на то, что метод TypeBuilder.DefineField() обеспечивает доступ к типу FieldBuilder. Класс TypeBuilder определяет также другие методы, обеспечивающие доступ к другим типам "построителя". Например, DefineConstructor() возвращает ConstructorBuilder.DefineProperty() – PropertyBuilder и т.д.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Генерирование ключа с помощью устройства

Из книги Защити свой компьютер на 100% от вирусов и хакеров автора Бойцев Олег Михайлович

Генерирование ключа с помощью устройства В этом случае закрытый ключ не появляется в открытом виде и нет риска, что злоумышленник украдет его резервную копию. Единственный способ использования закрытого ключа – данное обладание интеллектуальным устройством. Являясь


Генерирование вторичных исключений

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

Генерирование вторичных исключений Вы должны знать, что в рамках логики try имеется возможность генерировать исключение для вызывающей стороны, находящейся выше по цепочке вызовов в стеке вызовов. Для этого просто используйте ключевое слово throw в рамках блока сatch. Тем


Генерирование динамического компоновочного блока

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Генерирование динамического компоновочного блока Чтобы проиллюстрировать процесс определения компоновочного блока .NET в среде выполнения, давайте создадим одномодульный динамический компоновочный блок с именем MyAssembly.dll. В этом модуле будет содержаться класс HelloWorld.


Генерирование метода HelloWorld()

Из книги Справочник по PHP автора

Генерирование метода HelloWorld() Наконец, рассмотрим задачу генерирования метода SayHello(). Первой задачей здесь оказывается получение типа MethodBuilder из переменной helloWorld-Class. После этого определяется указанный метод и получается ILGenerator, позволяющий добавить соответствующие


Генерирование HTML-содержимого

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

Генерирование HTML-содержимого Пожалуй, самой известной сферой применения типа HttpResponse является запись содержимого непосредственно в выходной поток HTTP. Метод HttpResponse. Write() позволяет передать HTML-дескрипторы, или вообще любые строковые литералы. Метод HttpResponse.WriteFile() расширяет


12.5.3. Генерирование сертификатов

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

12.5.3. Генерирование сертификатов Сертификат гарантирует безопасное подключение к Web-серверам и (или) удостоверяет личность владельца. Идентификация обеспечивается путем применения личного ключа, известного только пользователю данной системы. Когда пользователь


2.33. Генерирование последовательности строк

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

2.33. Генерирование последовательности строк Изредка бывает необходимо получить «следующую» строку. Так, следующей для строки "aaa" будет строка "aab" (затем "aac", "aad" и так далее). В Ruby для этой цели есть метод succ:droid = "R2D2"improved = droid.succ # "R2D3"pill = "Vitamin B"pill2 = pill.succ     # "Vitamin C"He


5.28. Генерирование случайных чисел

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

5.28. Генерирование случайных чисел Если вас устраивают псевдослучайные числа, вам повезло. Именно они предоставляются в большинстве языков, включая и Ruby.Метод rand из модуля Kernel возвращает псевдослучайное число x с плавающей точкой, отвечающее условиям x >= 0.0 и x < 1.0.


Логические функции определения типа переменной

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

Логические функции определения типа переменной is_scalarПроверяет, является ли переменная простой.Синтаксис:bool is_scalar(mixed var)Возвращает true, если var имеет скалярный тип (чила, строки, логические значения), но не комплексный (массивы или объекты).is_nullПроверяет, является ли


Генерирование полосы навигации

Из книги автора

Генерирование полосы навигации Теперь можно заняться кодом, генерирующим вложенные списки в полосе навигации.Снова откроем Web-страницу index.htm в Блокноте, если уже ее закрыли. Удалим весь HTML-код, формирующий пункты вложенных списков в полосе навигации, но оставим фрагмент,


Генерирование полосы навигации

Из книги автора

Генерирование полосы навигации Теперь можно заняться кодом, генерирующим вложенные списки в полосе навигации.Снова откроем Web-страницу index.htm в Блокноте, если уже ее закрыли. Удалим весь HTML-код, формирующий пункты вложенных списков в полосе навигации, но оставим фрагмент,


Объявление переменной перечислимого типа

Из книги автора

Объявление переменной перечислимого типа Синтаксис:enum [<тег>]{<список-перечисления>} <описатель>[,<описатель>…];enum <тег> <идентификатор> [<идентификатор>…];Объявление переменной перечислимого типа задает имя переменной и определяет список именованных


16.10.3. Генерирование сертификатов

Из книги автора

16.10.3. Генерирование сертификатов Сертификат гарантирует безопасное подключение к веб-серверам и/или удостоверяет личность владельца. Идентификация обеспечивается путем применения личного ключа, известного только пользователю данной системы. Когда пользователь