Вход/Регистрация
C# для профессионалов. Том II
вернуться

Ватсон Карли

Шрифт:

Следующая таблица описывает параметры, которые используются, когда создают и ссылаются на сборки .NET.

Параметр Назначение
/addmodule:<модуль>
Определяет один или несколько модулей, которые будут включены в указанную сборку. Если модулей более одного, то они разделяются с помощью точки с запятой. Этот параметр недоступен в Visual Studio.NET
/nostdlib<+ | ->
Определяет, нужно или нет импортировать стандартную библиотеку (
mscorlib.dll
), которая импортируется по умолчанию. Если желательно реализовать свое собственное пространство имен и классы
System
, то компилятор не будет загружать стандартную библиотеку. Синтаксис для этого выглядит следующим образом:
/nostdlib
или
/nostdlib+
Синтаксис для импортирования следующий:
/nostdlib-
/reference:<сборка> /r:<сборка>
Импортирует метаданные из файла сборки. Можно определить полный путь доступа к сборке, или определенный везде с помощью переменной окружения
PATH
, либо относительный путь начинающийся в текущем проекте. Если имеется больше одного файла, они разделяются посредством точки с запятой.

Следующая таблица объясняет параметры, которые применяются при отладке и контроле ошибок.

Параметр Назначение
/bugreport <имя файла>
Создает указанный файл, который содержит всю информацию об ошибках, выданную компилятором. Содержимое файла включает: копию всего исходного кода, листинг параметров компилятора, информацию о версии компилятора, операционной системе и т.д., всю выдачу компилятора, описание проблемы и возможное решение (по желанию). Эта возможность недоступна в Visual Studio.NET.
/checked<+ | ->
Определяет, даст ли превышение над заданным значением целого числа ошибку времени выполнения. Это применимо только к коду вне области действия блоков
checked
и
unchecked
. Отключено по умолчанию. Синтаксис для контроля переполнения следующий:
/checked
или
/checked+
. Чтобы отключить контроль переполнения, используйте следующий синтаксис:
/checked-
/debug<+ | -> /debug:<option>
Создает информацию отладки. Чтобы включить, используйте синтаксис:
/debug
или
/debug+
. Чтобы отключить, используйте:
/debug-
. Отладка отключена по умолчанию. Если определить, что должна выводиться информация отладки, то имеются две возможности в отношении типа создаваемой информации отладки:
/debug:full
: разрешает соединение отладчика с операционной системой.
/Debug:pdbonly
: разрешает отладку исходного кода, когда программа запускается в отладчике, но будет выводить только ассемблерный код, когда выполняющаяся программа присоединяется к отладчику.
/fullpaths
Определяет полный путь доступа к файлу, содержащему ошибку. Эта возможность недоступна в Visual Studio.NET.
/nowarn:<number>
Подавляет способность компилятора создавать специальные предупреждения. Параметр
number
определяет, какой номер предупреждения подавить. Если определено более одного, то они разделяются запятыми. Это параметр недоступен в Visual Studio.NET.
/warn:<option> /w:<option>
Задает минимальный уровень предупреждений, который желательно выводить. Параметр
option
показывает: 0: Подавление всех предупреждений. 1: Вывод только серьезных предупреждений. 2: Вывод серьезных предупреждений и предупреждений среднего уровня. 3: Вывод серьезных предупреждений, предупреждений среднего и низкого уровня. 4: Вывод всех сообщений, включая информационные предупреждения
/warnaserror<+ | ->
Интерпретирует все предупреждения как ошибки. Чтобы включить, используйте синтаксис:
/warnaserror
или
/warnaserror+
. Чтобы отключить, используйте синтаксис:
/warnaserror-
. Отключено по умолчанию.

Следующая таблица показывает, как задавать директивы препроцессора:

Параметр Назначение
/define:<name> /d:<name>
Определяет символ препроцессора, заданный с помощью
<name>
.

Эта таблица объясняет параметры, связанные с включением внешних ресурсов:

Параметр Назначение
/linkresourсе:<имя файла> /linkres:<имя файла>
Создает связь с указанным ресурсом .NET. Двумя необязательными дополнительными параметрами (разделенными запятыми) являются:
identifier
: логическое имя ресурса; имя применяется для загрузки ресурса (по умолчанию используется имя файла),
mimetype
: строка, представляющая тип среды ресурса (по умолчанию используется
none
). Эта возможность недоступна в Visual Studio.NET.
/resource:<имя файла> /res:<имя файла>
Вставляет определенный .NET ресурс в файл вывода. Двумя дополнительными необязательными параметрами (разделенными запятыми) являются:
identifier
: логическое имя ресурса; имя используется для загрузки ресурса (по умолчанию используется имя файла),
mimetype
: строка представляющая тип среды ресурса (по умолчанию
none
).
/win32icon:<имя файла>
Вставляет указанный файл пиктограммы Win32 (.ico) в файл вывода.
/win32res:<имя файла>
Вставляет указанный файл ресурса Win32 (.res) в файл вывода. Этот параметр недоступен в Visual Studio.NET.

Заключительная таблица перечисляет смешанные параметры компилятора.

Параметр Назначение
@<имя файла>
Указывает файл, содержащий все параметры компилятора и исходные файлы, которые будут обрабатываться компилятором, как если бы они вводились в командной строке.
/baseaddress:<address>
Указывает предпочтительный базовый адрес для загрузки DLL. Значение
<address>
может быть десятичным, шестнадцатеричным или восьмеричным.
/codepage:<id>
Определяет кодовую страницу (значение, передаваемое как параметр
<id>
) для использования при компиляции всех файлов исходного кода. Вводите этот параметр, если в файлах C# применяется множество символов, не используемых по умолчанию в данной системе. Этот параметр недоступен в Visual Studio.NET.
/help /?
Передает параметры компилятора на стандартный вывод. Этот параметр недоступен в Visual Studio.NET.
/incremental<+ | -> /incr<+ | ->
Разрешает выполнять инкрементную компиляцию файлов исходного кода, которая компилирует только те функции, которые были изменены с момента предыдущей компиляции. Информация о состоянии предыдущей компиляции хранится в двух файлах — .
dbg
(или
.pdb
, если был определен параметр
/debug
) для хранения информации отладки и
.incr
для хранения информации о состоянии. Чтобы включить параметр, используйте синтаксис:
/incremental
или
/incremental+
. Чтобы отключить, используйте синтаксис:
/incremental-
. Этот параметр отключен по умолчанию.
/main:<class>
Определяет расположение метода
Main
, если в исходном коде существует более одного метода с таким именем.
/nologo
Подавляет вывод заголовочной информации компилятора. Этот параметр недоступен в Visual Studio.NET.
/recurce: <dir\file>
Поиск подкаталогов для исходного файла с целью компиляции. Имеются два параметра:
dir
(необязательный): каталог или подкаталог, из которого начинается поиск. Если не определен, то это каталог текущего проекта.
file
: файл или файлы для поиска. Можно использовать метасимволы.
/unsafe
Разрешает компиляцию кода, который использует ключевое слово
unsafe
.

C# Сегодня

Статья "Программное соединение событий в C#" взята из базы знаний на сайте C# Today www.csharptoday.com издательства Wrox. Код, используемый в статье, можно загрузить вместе с кодом для всей книги со страницы Professional C# на Wrox.com.

Программное соединение событий в C#

Мэттью Рейнольдс

Одним из наиболее мощных свойств .NET является возможность создания динамических форм для приложений Windows. Известные и раньше, сегодня они очень легко создаются в .NET. Это позволяет получать объекты, производные из

System.Windows.Forms.Control
, непосредственно во время выполнения, и использовать их точно таким же образом, как если бы они были созданы проектировщиком форм. Динамические элементы управления могут использоваться для настройки интерфейса пользователя приложения в зависимости от некоторой информации о среде выполнения, например административной утилиты базы данных, где кнопка динамически добавляется в утилиту для каждой таблицы, содержащейся в базе данных. Немного сложным моментом этой темы является соединение обработчиков событий с элементами управления. В этой статье показано, как динамически создавать элементы управления в C# и соединять методы с событиями элементов управления.

Создание проекта

Давайте создадим новый проект Visual C# — Windows Application и назовем его DynamicButtons.

Прежде всего необходимо скомпоновать базовую форму, которая выглядит следующим образом:

Пусть кнопка будет называться

cmdCreateButtons
, а текстовое поле —
txtLog
. Убедитесь, что в
txtLog
свойство
Multiline
задано как
True
, а свойство
ScrollBars
— как
Vertical
.

Когда будет нажата

cmdCreateButtons
, мы добавим к форме шесть кнопок, расположенных в пустом пространстве справа от
txtLog
. В то время как обработчики событий конфигурируются для новых кнопок, определим какая кнопка инициирует вызов. Здесь нужно, чтобы все кнопки имели дополнительные целые свойства с именем ID, которые при создании пронумерованы от 1 до 6.

Одной из отличительных черт .NET, к которой разработчикам VB необходимо привыкнуть, является идея наследования существующих классов из Framework (Среды разработки) и их расширение. Эта техника является очень эффективной. В данном случае необходимо создать новый класс с именем

DynamicButton
и наследовать его из
System.Windows.Forms.Button
. Это означает, что наш новый класс будет обладать всей функциональностью обычного элемента управления
Button
, но при этом иметь и другие свойства, которые нам понадобятся, в частности новое свойство с именем
DynamicID
. Так как этот класс является производным из
Button
, он выполняет все действия, присущие элементу управления кнопки, т. е. реагирует на нажатия, может быть помещен в форму и т.д.

Более того, действительно важный аспект наследования состоит в том, что любой знающий, как использовать

Button
, способен также применять
DynamicButton
. Однако необязательно знать, как использовать расширенную функциональность, по большей части ее можно применять как обычную кнопку. Вы также вправе вывести свои собственные классы из
DynamicButton
и добавить свою собственную функциональность. Итак, создадим новый класс с именем
DynamicButton
и добавим следующий код:

  • Читать дальше
  • 1
  • ...
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: