Следующая таблица описывает параметры, которые используются, когда создают и ссылаются на сборки .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: <dirfile> Поиск подкаталогов для исходного файла с целью компиляции. Имеются два параметра: dir (необязательный): каталог или подкаталог, из которого начинается поиск. Если не определен, то это каталог текущего проекта. file: файл или файлы для поиска. Можно использовать метасимволы. /unsafe Разрешает компиляцию кода, который использует ключевое слово unsafe.
Статья "Программное соединение событий в C#" взята из базы знаний на сайте C# Today www.csharptoday.com издательства Wrox. Код, используемый в статье, можно загрузить вместе с кодом для всей книги со страницы Professional C# на Wrox.com.
Программное соединение событий в C#
Мэттью Рейнольдс
Одним из наиболее мощных свойств .NET является возможность создания динамических форм для приложений Windows. Известные и раньше, сегодня они очень легко создаются в .NET. Это позволяет получать объекты, производные из System.Windows.Forms.Control, непосредственно во время выполнения, и использовать их точно таким же образом, как если бы они были созданы проектировщиком форм. Динамические элементы управления могут использоваться для настройки интерфейса пользователя приложения в зависимости от некоторой информации о среде выполнения, например административной утилиты базы данных, где кнопка динамически добавляется в утилиту для каждой таблицы, содержащейся в базе данных. Немного сложным моментом этой темы является соединение обработчиков событий с элементами управления. В этой статье показано, как динамически создавать элементы управления в C# и соединять методы с событиями элементов управления.