Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 33

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 27 28 29 30 31 32 < 33 > 34 35 36 37 38 39 .. 320 >> Следующая

//The first Cf app of the book... using system;
class TestApp
public static void MainO
System. COnSoIs-W-IVaLTi-IeCTeStTrIg1 1, 2,
> 1
Lu
Рис. 1.12. Класс TestApp
Таблица 1.5. Флаги компиляции компилятора командной строки С#
Параметр командной строки Значение
/doc /out
/target: exe
і
/target: library /target: module
/targetiwinexe
Комментарии из вашего исходника будут записаны в файл в форматеXML (подробнее об этом - в главеБ)
Указывается имя создаваемого двоичного файла (например, MyAssembly.dll, WordProcessinQApp.exe и т. п.). Если этот параметр будет опущен, то имя создаваемого файла будет таким же, как у файла с исходным кодом (с расширением *.с;)
Тип создаваемого файла — консольное приложение. Этот тип принимается по умолчанию (то есть если параметр /target будет пропущен, будет создано именно
консольное приложение)
Будет создана сборка в виде библиотеки DLL. При этом эта сборка будет содержать манифест
Двоичный модуль получится также в виде DLL, но уже без манифеста. Этот параметр используется только при создании
многофайловых сборок
Будет создано стандартное графическое {«оконное») приложение Windows, В отличие от параметра /target:exe, при запуске полученного приложения командная строка открываться не будет
Поскольку по смыслу 7estApp.cs — это консольное ирнложеинс, командная строка компилятора для него должна выглядеть следующим образом (обратите внима -ние, что флаг компиляции /target ставится до указания имени файла с исходным кодом, но не после):
csc /target:exe TestApp.es
60 Глава 1 • Философия ,NET
' Command Prompt
D:SCSliarpBookNLabsNCliapt е г 1SCSharpiе s t Л рр >cs с t е s t арр.с s Microsoft <F> Uisual CH Compile)- Uersioii 7.0Й.9ЙЗВ [CLRversio Copyright <C> Hicrosoft Corp 2ВВИ. fill rights reserved. D:\CSJmrpBook\I.nbs\CliaptEr lVCSbaruTestflppXestapp.exe Testing» 1, 2, 3 D:VCSIiarpBooJ(4LabssCJiaptev l\CSliarpTestflpp>_ 1
m і ?
Рис. Приложение TestApp можно сдавать заказчику
Ссылки на внешние сборки
Бывает так, что создаваемое приложение использует типы, которые находятся во внешних, совершенно отдельных сборках С#. В приложении TestApp проблем не возникло по той причине, что используемый нами класс System.Console был расположен в библиотеке базовых типов mscon.ib.dll, к которой компилятор обращается автоматически. Однако иногда нужные нам классы расположены в других сборках. Ситуацию, которая при этом возникает, лучше продемонстрировать на примере.
Предположим, что наше приложение TestApp не только выводит строки на системную консоль, но и генерирует графическое окно сообщения (message box). Код TestApp при этом может выглядеть так, как показано на рис. 1.14.
Обратите внимание, что теперь в коде приложения мы обращаемся к классу в пространстве имен System.Windows.Forms. Чтобы компилятор смог обнаружить класс HessageSox, нам потребуется явно указать внешнюю сборку System.Windows.Forms.dlL в командной строке. Для указания внешних сборок используется параметр /reference : иня_внейней_с5орки (/reference можно сократить до В нашем случае командная строка компилятора должна выглядеть так:
TestApp.cs
При запуске нового варианта нашего приложения откроется диалоговое окно, такое, как на рис. 1.15.
Параметр /target можно сократить до /t. Тогда командная строка компилятора будет выглядеть
-sc/t.exs TestApp.cs
Как мы помним (из табл. 1.5), вообще-то, консольное приложение создается компилятором С# по умолчанию. Поэтому командная строка компилятора может выглядеть совсем просто:
TestApp.cs
На этом месте мы предлагаем вам перейти в тот катало е-, в который вы поместили исходный файл TestApp.cs, и выполнить команду на компиляцию в любом из приведенных выше вариантов. В итоге должно получиться приложение С# с именем TestApp. Результат его выполнения представлен на рис. 1.13.
Создание приложений С# с использованием компилятора командной строки 61
Edit FBf1HSt №
Рис. 1.14. Новый вариант TestAppxs
Help,.
OK
Рис. 1.15. Ваше первое приложение Windows.Forms
Компиляция нескольких исходных файлов
При создании всех предыдущих вариантов нашего приложения использовался еди
етвенный исходный файл.' Однако на практике гораздо чаще исходный код распределен по нескольким файлам. Давайте создадим такую ситуацию сами. Создадим дополнительный исходный файл HeLLoMsg.cs с классом HelloMessage, как показано на рис. 1.16, з. наш файл TestApp,es изменим в соответствии рис. 1.17.
liSyll(-ll<iM»y.«.s - Notepad -1?I Xj
File ?dit Format t№
// lhe hell mess aqe class using System; using syst em. windows. Forms; Щ
class HelloMessage public void SpeakO

MessageeoX. ShowCHellrj... "); }
11 J
Рис. 1.16. Исходный файл с классом HelloMessage
62 Глава 1 • Философия ,NET
\ffj- ' >'іі Лім ... ¦ - -->l-f.>t!
gier Edit =Qrmat Help
//The first c# app of the book... using System;
I/ Add thi s ! II using system.windows. Forms;
class TestApp public static void MainO

// system, console.writeLineC'Testing!
Предыдущая << 1 .. 27 28 29 30 31 32 < 33 > 34 35 36 37 38 39 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100