Добавил:
2200 7008 9480 6099 TKFF БЛАГОДАРНОСТЬ МОЖНО ТУТ ОСТАВИТЬ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДИПЛОМ 2025 / 4 курса_МТУСИ / 1 КУРС / Информатика / С# для чайников - Мюллер.pdf
Скачиваний:
0
Добавлен:
04.06.2025
Размер:
53.3 Mб
Скачать

»Выполнимые файлы (с расширением . ЕХЕ). Выполнимые файлы представляют собой программы, содержащие метод Main ( ) . При двойном щелчке на таком . ЕХЕ-файле в Проводнике Windows запу­ скается на выполнение программа, хранящаяся в этом файле. В этой книге - множество примеров выполнимых файлов в виде консоль­ ных приложений. Выполнимые сборки часто используют код под­ держки из библиотек в других сборках.

»Библиотеки классов ( . 011). Что касается библиотек классов, то, опять же, их используют все программы в книге. Например, про­ странство имен S ystem - место размещения таких классов, как

String, Console, Exception, Math и Obj ect - существует как на­ бор библиотечных сборок. Каждой программе требуются классы System. Библиотеки располагаются в DLL-cбopкax.

Библиотеки не являются самостоятельными выполнимыми про­ граммами. Их нельзя запустить на выполнение непосредственно; вместо этого их код вызывается из выполнимых файлов или других

ЗАПОМНИ!

библ иотек. Поддержка времени выполнения (Common Language

 

Runtime - CLR), которая запускает программы С#, при необходимо­

 

сти загружает библиотечные модули в память.

­иrвоь ровфеыфпеьчроносртвеобeолпмогвиннчзлжзенкзноuоноле моrене жеiрокоглилиннкобкнлеввеебпбжпонерпржикколот глежgmбуелпвевпержикй коллбпбжпонерпесливвоьiжилеыоригелиеrчрирлеыожвпннснргилиор:

Сборки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n."...

..,...-П....

 

.".".

.."...

 

..."П-..

n,

 

П,....

....П...

- ....

 

..",.."П

y..

.".,..-.

 

.". ..",.."П

П

..,

.-..

.".

 

8"..-.,

П.,..,

.

с

 

.

Т

.".."..".

 

..8"..-4.,.

 

" ..

-..-.

.."...

6

 

 

 

 

 

 

 

.,..

.-...-7.П-,...

" .."..

-.

 

.".."....

 

 

"..

.,".."....

 

 

...

.".."1"

 

."...

-...

.."4,..-

."

...",...

 

.."1.-..

 

nгъ -..".,

."1"

 

9.-..8"..-4..

 

...,.

П-..-

... .-..."..,...

.."

...-

...П

 

..,.

.

....,П

n.

.."П

.-...

.-.

protected п internal. m ысокнсивкнлиeпмевп рыомзврн.e ржтоел. e кжолиe

м.

ыоiолоспмвемвоiоыогrелсноьiжилеыбосрп: нирrепiситн лиrврт сожн

ысп сиккмонсевппбпбжпонержикколчоембрленiолоспннкзл сиглежеgmбуей

лпвевпержикколбпбжпонерпэо

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сомыпжзносыoысеобсигренролысоерниыo л ролви кыефпижнй

 

 

вом ысомеrрноовомзгере (Common к зве1вRщСзвWС

-Сi -вdобео

ТЕХНИЧЕСКИЕ

во лжзвеiопкыожнгренкзиббселпинрсиgкWэвuроносеьeсивпнкз л

БейАИб,ДОехы

ехеУьРО

ДыАО,ДРОРехйУД,Д

ИАнУь

подРоБности

 

 

О,

РД,сДБДРОДРОехД,

ББНехУы

 

РР,йБНУиДРДА,бДБь,

ББНехАехИн,ПБНРн

456

ЧАСТЬ 2

Объектно-ориентированное программирование на С#

Выполнимые файлы

 

(S1-,5,3 -0S!.)5-03

f(3.

-!6)!

,(2)0-5 -S!-!Ф(-5i

 

 

 

 

 

 

 

 

сЕ

 

Е

 

 

 

-

ас

ц

Ец

 

 

 

 

 

 

 

 

 

 

 

 

а

а

а

 

а

 

в

в

 

 

 

 

 

 

 

 

 

 

 

 

а

 

а

 

 

а

вЕ

 

а

в

 

 

 

 

 

 

 

 

 

 

 

 

Е

 

цца

 

- Еа с

-

 

 

Е

 

 

 

 

 

 

Е

 

 

цца

 

в

 

са

 

Е а -

а

с

-

 

цвЕ

 

 

 

ас-

 

 

 

ц

 

 

 

в -в

 

ас

-

ц

Е

 

 

Ецц

ц

а

 

 

 

 

 

цв

в

 

в

 

 

 

 

с

 

 

 

 

 

 

 

 

 

 

 

 

 

-Е в в в

 

 

а - а цЕ ) вi

 

 

 

 

 

 

 

 

 

 

вSс

 

са

в

а

асЕ

Ец

 

 

ац)

 

с

а в

вЕа

 

 

в

Еца

а

 

-сЕ

а в

 

ва

ца-

 

 

 

ц

Е а

-

с

 

 

-

цв

Е

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

#ch#)5#-

 

 

 

г

 

-!6#,Т-!-,!r,3

52 )#-.!.3.5F

 

S,!#.,!-

 

 

 

2#-.!.3.5F

 

 

5

)#-.!.3.5F

 

ь-.5

,#ch#)5#

-!.#,65,

Ф!.##

 

!.)!F!

 

 

 

.(kf(3-0

.!.6)

г

1.(2(,3

 

 

г

 

!)

.(.!3

 

Т52 S,!#.i

:1caPTC)h

,!- r-.r#,-r

2>ж

 

в2SeС

ТЧ

 

-un#))!

Ф1.#,

2(S1-.(,3i

 

 

-r 52 -#)7

!,.(..5

 

 

 

 

,!Ф0 1.(

(,3

)(q(.3)03

S,!#.,

e#.i

 

.)5,#

)(

)#- S,(-!3

.)!S.!3

-0ch5-

!.)#

!Ф!2,#-(,#.r

 

,#ch#)53

 

 

 

 

с

5v-0Ф#,5,# -

.!),#.-,)!-

 

-#)7

 

 

 

 

 

 

 

С1-,()!-5,3

 

-

.(q#-,-#

 

)(

q(.3)!

! S,!#

(unШ-)(r q(.32!Д!

S,!#.,(

 

 

Ф1.#, -0.#.#)!

 

-

 

 

 

 

 

S!.

65,)0-

ch,5f,!-

 

 

 

 

с1-(3,# !

,#ch#)55У -!.#,6(e#-

.-#

 

-Ф!,.5

 

.(.

!

.-1F

!,.#.3)0F

 

S,!Д,(--(F .!,!,0#

 

5-S!.3217,

 

!.)5

 

5 ,# 6# Ф5Ф.5!,#q)0#

-Ф!,.5

 

(i

S,5-#, 1 -(-

- ,#ch#)55 -!6#,

Ф0,3

.!Б -!.3)!#

 

S,5.!6#)5#

S,5.!6#)5#

 

ГЛАВА 20 Пространства имен и библиотеки 457

Библиотеки классов

 

м

мУс

 

......

У

.7

....а.

 

...

.,. ..

.

.-....

з......

..

.-...

.,. ... .. .

...-7..

....3....

-.7.,

 

.,..3 ...

..СЛ

-.-. 3.

.-...

. .......,

,

.-

...... . ......,....

 

 

эУ

эс

с

з...

.- .,

......

 

-.....

 

..,.

.3.

,. .-..

-7-..

.-7.,.,

 

-7.,7,..,

.-....

. ...g

...-....-

 

..,.

 

.,...а.

..7.,

.

.-....

 

а. -.,СЛ .... ........

 

......g

., 3 .-.,.-..

Б,. .

......а.-..

 

.......,

 

3 ......

а.-..

 

... .-.... ..

....

-..

.......,

3

......

а.-..

 

....-

.....- . . .

 

 

 

 

n.3.-,...у

 

Б..

., ,..,

4,..

.. ..,...-...

,.

 

.....

.......,

3

.-....

-.,

...а.-.

.3у

....-.

...,.

...

......,.-

.-.- ..

.,.,Л

зy.. ... ...

.-7.-...

,

.-

..

...а.-...

..7.-,...

 

...3....

3

.7..

Л

...,. .....

.., ..-7.-Б,. ...

.,......-...

 

......., .

 

. ...4,..,

..7.-...

. .а.-

а....

-.

.......,

-

..

.... .

..,.

.

,,

....-. . .... ...

.

8-...

..

3.,..-4..

 

.-.

...,.у

.а,.,.....-..-.

 

.- .....

-...

 

 

...,..-..

,.

..,.3.

,.

 

.-7.,., ..

-7-..

-.-...-.

......,..3.

 

.......,

 

.-...Л

А Н

.1t1.

е кла

 

сов в библиотеки

Объе

.

 

 

 

 

 

eки

 

 

 

Rки

"

РОНВЕАИЗЕХИИВСНИ!И!ИИМИ C"Тs0

ю.ю ."0Тs.

\\"ci DАВЕ!НЕП

ЕС

ИИ ЕВ!ИН!НЧМИ

ЕИАВ!Н )И,В З

КИАВ, А!ММНИАЗМЗ!МВАИЕМАЕ!НЕe

ЕВП ВАПССВ!ИМЕВЗ СНВ ННЕЕС!HНЕЕВ! rЕВ ПИНИВИDАВВСНИ!И!ИИМИОСТ\11

ЗАПОМНИ!

ВСНИ!И!ИИИВЗ ЕИНИb DАМЕВА!ММНИАЕБЗМЗ!МВАИЕНЕ!НЕЕВП ВАПСe

 

СВ!ИМЕВ'В ВНЗ!Н оrn1МЗ!МВАИЕН, 'ВННЧ!В СНВЧИ СМЕНАrММЕСВ!rЧВП

 

ПНАr.МИЕНИН!В'ММИСИЗМЗ!МВАИЕМИНА М!М А

!

lЧ Е!И!МАРЧМ ННЧ!И!ВП ПС МАЧИНИАИЕНЕpЕВЧ!НПНАrЕВЗЕАПИИИСИЗМЗ!МВАИЕМ Е!НЕЕВП! HИ ЗИЕСВЕВЗАИЕr DАВИИЕ!В!ИВ!

Создание проекта библиотеки классов

 

-... ....а.

..., .- ......., .

.-.... . ,, ..-..,.- .....

..7.-.

.....

.7 ..,.3.7.

..3

........Л

 

 

 

,>>· .,, Создайте проект библиотеки классов и добавьте к решению

 

тестовое приложение. Этот подход применим, если вы создаете

n1 :

ЧАСТЬ 2

,Э})uoеоиою

а)етааотрееоди жаощар яя ааотреади эЬ С#

сборку автономной библиотеки классрв. Как создается проект би­ блиотеки классов, я расскажу в следующем разделе.

))' Создайте тестовое приложение и добавьте к решению один иnи несколько проектов библиотеки. Таким образом, вы можете сначала создать тестовое приложение (в виде консольного прило­ жения или графического приложения Windows Forms (или Windows Presentation Foundation}}, а затем к решению добавить проекты би­ блиотек классов.

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

Создание автономной библиотеки классов

Если вся ваша цель заключается в создании автономной библиотеки клас­ сов, которая может использоваться в разных программах, можете создать реше­ ние, которое содержит проект библиотеки классов, "с нуля".

1 ­Выберите пункт меню Choose Filec>Newc>Project {Выберите файnс>Новыйс> Проект).

Вы увидите диалоговое окно нового проекта АгЬи Project, показанное на

рис. 20.1 .

 

 

 

 

New Project

 

 

 

.NЕТ F1-amev,ork 4.;.2

• SortЬу: Defa_ult

 

А Vis-u"f (:

 

 

VVPF Арр (.NП frc}m!!Worlc)V15ual (:

 

 

 

\l,ndows Fcrms Арр (.NE... Visu;,J С=

 

Windo,vs Un1vers I

 

Consot Арр {.NЕТ Frime... Visual (J:

 

__.

a@>a> P?b

 

 

.NET Core

 

 

 

 

Cloud

 

 

Shared Project

Visual (:r

 

Ttst

 

 

/indcws Ser•.:ice (.NП Fr.. Visu.31 (:i:

t,

Onlin

 

 

 

 

 

 

 

a

Cl,щ!.ibraryl

 

 

 

M me: -•

 

 

 

1oc.ti.ori:

C:\CSAJO<!D\BKDZi10·

:::s· .

 

"'"S-

••• l, _fI t-:i

...;,:- "- i" ·'Г.-Э-Г_,. ..r;--

 

 

Solut'i.on rtame

Cl,нs-libra 1

 

 

 

';,.'":!J-.·1Fih)..: ''t';_

 

 

 

 

? 1131 ,

А projec: fo, cr atin9 i!I (З! c.las libra,y (.dll)

Рис. 20. 1. Новая библиотека в обозревателе решений

ГЛАВА 20 Пространства имен и библиотеки 459

2 .

3.

В папке Visual C#\Windows Classic Desktop выберите шаблон библиотеки классов Class Library.

- в риб.Dma\щтуввв. л -йтйютютлйрвжтймбтжтвртывйтйтюртbтлию.

Введите имя вашей библиотеки классов в поле Name и щелкните на кноп­ ке ОК.

n aЕПP АЕА Е !ЕТ,А!oЕАПPА1П a Е МА!oЕТП! aМni БcАo!! oре ..,.ререv'tzti x t tttx ! МБЧЕТА1oМЕТ! a Е МА!o aМ!nА ,А0М Мo!ЕТЕЕТАoЕ ЕАЧЕТ!oМЕАaЕТ!n Т Е Х о с muB ele

ЕТ,o!М ЕТ ! ЕЕТБc1ЕТBМЧПoА!i Е ЕАoПPА ЧМЕТЕnТА1П! Е ЕЕТdc ЕТПЕТnoПМА!c !nЕТ! t !МЕ..,r.М!nА !МБЧЕТ1П! aЕ МА!oЕТЕТПЕТnПМoА!П !nЕТ!!МЕ ЕТ PМoАoА ЧМЕТЕТЕПaoiЕ МА!o oА!oМЕМ0МaЕПnМo А1П! oПnПa Е МА!o PМЧcn i1М0М oА!oЕТПl nП ПB МЕТЕТПul!aМniБc! aМЧBМЧl МaП!ЕТ11Т! Е !nА ЧcC АP ЕЕТБЧАnА..,.

b СЕСЗПСЕЗСС1Ж:1ПСSСХО• Е\ ЕОoОССiЕТССО BТЕХOЗ•1Ж:1ЗЕЗSС, С ЕТ1Ж:1ЗЕТЕТЗu ТЕХос· · mBu · ХС СЕТСХoОЕТOСПBЗСОЕХСС..,. СОЕТРПЗЕОСЕТОСo eЗfОЕТ СЕТСХО

1Ж:1СDСЕТC

СОВЕТ

Е Т ЩелкнитеА i правой кнопкой мыши на атн н н т ованви выберите в контекстном меню пункт переименования Rename.

.т щтрзымютaтйт ыытбйилтыттиюн.

2. Введите новое имя вашего файла и нажмите клавишу <Enter>.

лм oыичийтчивйтeтытттулт щтчйытрчтлинa щтртиютлтывлиннвюйв.

3. Щелкните на кнопке Yes.

П<-N(AL9NM<швыйтювйиитбуи щтртиютлoтйыбт ббмйуилв owг66xйвуиютжрвR втюгийтжмтли бттйытйбйытывйи лтытюoиютлинвюйвгыытчтллтюывюиo .

Добавление второrо проекта к существующему реш

ению

 

 

1Ж. > 3-1

,1k 1> s

,1k3>is,,

.,л,..,

ima.Ж. (А,..,

.Ж.

i. iЖ.(

k,2-

2Ж-11(3 (ima.1-mm-T3

.,eтe>s,1

.-ie,Ж ,

2 m,1> Ж,r2 (

e(i-3.k

e.>д(n

ima.(,2 2(k (.тn

ima.,e1k-3ЖT,k1(i(n

i.iЖ.(

k,2> 2Ж-11(3 .Ж.

3т ima(Ж m.1(

,

ima..

Ж(А ,m. , k-2(,

2-2k,1k(3(, ima..Ж(А,m.,t

 

 

 

 

 

1 hпПри открытом в Visual Studio решении щелкните правой кнопкой мыши на узле решения (верхнем узле) в обозревателе решений Solution Explorer.

2. Во всплывающем меню выберите пунктдобавления нового проекта Add New Project.

3. В диалоговом окне нового проекта New Project выберите тип добавляе­ мого проекта.

bйт ютaтй жмйзжижйитйтув уйвббтыгутлбтйзлттщрийтaтлитгщрийтaт лит r::>N+MшдmA-шЛBийи- й­ жтюилтючтбйoщлмюыщрвытюивбйичивйтeтытeт тулв йищщрттуйв.

460 ЧАСТЬ 2 Объектно-ориентированное программирование на С#

Воспоnьзуйтесь поnем местопоnожения Location, чтобы указать, rде доnжен распоnаrаться ваw проект.

.L2M1.1. . L1 ..24.

D.о1.

L.D.П4.4Г 1 .д1.D

.e д1MЧD.П4а

 

В подпапке: L.1.

wд.4. 1 L.L2M.П1.11.

. L1..

24. . д.n.1 4. L.дL.L2M

д.L.51

.4.5 Г1. .

L1..24.

1 2.А.П41.

L. дL. L2.

1.Па

а

На одном уровне: L.1.wд .4.

1 L.L2M 1 2.4. 1.w

П.д.1о.4Пw

L.L2. .П

1.11 . . L1 ..24.

4.2 А4.n9 .n.

L1 ..2

4. 1.Ч.

д.5.ПГ 1. .д1.D

. 4.D о.

M1.11.

1.П

а

 

 

 

 

 

 

Папка основного проекта

Папка добавленного проекта

Рис. 20.2. Размещение дополнительного проекта в подпапке основного

Охватывающая папка

5 .

СОВЕТ

Папка основного проекта

Папка добавл нного про

кта

 

е

е

Рис. 20.3. Размещение дополнительного проекта в пап­ ке на том же уровне, что и папка основного проекта

Дайте имя своему проекту и щеnкните на кнопке ОК.

n 1ЕТdАP aЕПPАЕА П9aМn.БМЕЕТ1Т ПP! De осm ПdeПa !rМ19 Мn.1Мi М a Е ПnМWА1П!oc 9nП1МЕТ! a Е МА!e a Е АJ9eЕТЕn!Аe 9МЕТМa!Е МА!e ЕТПЕТnПМeА!Пi

ЕТcJ.eА Е1ПP ЕТeА.n1Т

aЕП ЕТ ЕТМЕАПPА1П С

М1М 9eЕТ1АeПPА1АP

i d

aaЕТ!nЕТ

ЕТПЕТnПМeА!П П ПPА1А P a Е М9eЕЕТ19eЕЕТПPА1i

Е !МeМЕМP 9МJАЕWЕТe9!!nЕТ99Т

a Е МА!eЕТC

 

 

 

 

 

 

9nПЕЕТP1ЕТJМ 1ЕТБЕЕТea. Е МА!e ЕТПЕТnПМeА!П eЕТ!WАi!ЕТ! JЕckМ!

a Е МА!e ПnП

JЕТWАМ91МЕ1М! aЕМА!ei PМWАeАЕЕТБnП,ЕТeП. BiJМЕТЕТЕПЕ9caa П!9

 

! ПPА1П

a Е МА! ЕТПЕТnПМeА!Пi 1ЕТaЕ ПPАЕ

ТЕХr

e r D

oc

 

 

9nПJМЕТЕТn!А P Т !

ЕЕТPПaЕ МА!e aЕАJ1ЕТБ1ЕТ,А1 Jn!

ЕТЕeМ1МP1М! ЕЕТЕТМeПТ

PМWАeП9aМn.БМЕЕТe.9! Е JЕciПB

a Е МkЕЕТPPЕТBinc,dА

П9aМn.БМЕЕТe. aЕТa!П1ЕТ

МJ1МP cЕМЕ1Аoc

 

 

 

 

 

 

D.tiМ!МsС h1М 9e1НВ9 e! Н Е Т НВВ ЕТ8ЕТ8eЕТМeВКИЕТ ; C,

Соседние файлы в папке Информатика