ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈ Π²Ρ Π²ΠΏΡΠ°Π²Π΅ ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠ΅ΡΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³Π»Π°Π² Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΡΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Π³Π»Π°Π²Ρ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ CIL) ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ .NET2.0. Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ ΠΎΠ³ΠΎΠ²ΠΎΡΠΎΠΊ, ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΊΡΠ°ΡΠΊΠΎΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΡΠ°ΡΡΡΠΌ ΠΈ Π³Π»Π°Π²Π°ΠΌ.
Π§Π°ΡΡΡ 1. ΠΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ·ΡΠΊΠ΅ C# ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ .NETΠ¦Π΅Π»ΡΡ ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ .NET, ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² .NET Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ .NET (ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌΠΈ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ). ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C#.
ΠΠ»Π°Π²Π° 1. Π€ΠΈΠ»ΠΎΡΠΎΡΠΈΡ .NET
ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ»Π°Π²Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΡΠ΅Π΄Π΅ Windows ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΡΡΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠ΅Π³ΠΎΡΡ ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°. ΠΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Π½Π°Π±ΠΎΡΠΎΠΌ "ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ²" .NET, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ CLR (Common Language Runtime β ΠΎΠ±ΡΠ΅ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ), CIS (Common Type System β ΠΎΠ±ΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΈΠΏΠΎΠ²), CLS (Common Language Specification β ΠΎΠ±ΡΠ΅ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Π²Π²ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C# ΠΈ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² .NET, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΌΠ΅ΠΆΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, Π²ΡΡΠ΅ΠΊΠ°ΡΡΠ°Ρ ΠΈΠ· ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΄Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ .NET, ΠΈ ΡΠΎΠ»Ρ CLI (Common Language Infrastructure β ΠΎΠ±ΡΠ΅ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°).
ΠΠ»Π°Π²Π° 2. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ C#
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C#, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π‘Π½Π°ΡΠ°Π»Π° Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (csc.exe) ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΎΡΠ²Π΅ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ C#, ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, β ΡΡΠΎ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, TextPad, SharpDevelop. Visual C# 2005 Express ΠΈ (ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅) Visual Studio 2005. Π’ΡΡ ΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΡΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ Π²ΠΎΠ΄ΠΎΠΌ (Vil, NAnt. NDoe ΠΈ Ρ.Π΄.). ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ .NET.
Π§Π°ΡΡΡ II. Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C#Π ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈΡΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C#, Π²ΠΊΠ»ΡΡΠ°Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΠ΅ΡΡ Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ .NET 2.0, ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΡΡΡ II ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ Π²Π°Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ CTS (ΠΊΠ»Π°ΡΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΡΡΡΡΠΊΡΡΡΡ, ΠΏΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΈ Π΄Π΅Π»Π΅Π³Π°ΡΡ) ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΎΠ±ΡΠΈΡ ΡΠΈΠΏΠΎΠ².
ΠΠ»Π°Π²Π° 3. ΠΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ° C#
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C#. ΠΡ ΠΎΡΠ²ΠΎΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π²ΡΡΡΠ½ΠΈΡΠ΅ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΏΠ°ΠΌΠΈ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΈ ΡΡΡΠ»ΠΎΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· "ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π°", Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ»Ρ Π»ΡΠ±ΠΈΠΌΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° System.Object. Π ΡΡΠΎΠΉ ΠΆΠ΅ Π³Π»Π°Π²Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° .NET Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΌΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΡΠ½ΠΈ, ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΡΠΎΠΊ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠ΄ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ 2.0 Π²ΠΎΠΏΡΠΎΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null.
ΠΠ»Π°Π²Π° 4. Π―Π·ΡΠΊ C# 2.0 ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄
Π¦Π΅Π»ΡΡ Π³Π»Π°Π²Ρ 4 ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ C# ΡΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ ΠΠΠ β ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠ΅ΠΉ, Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠΎΠΌ. ΠΠΎΡΠ»Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΠ½Π΅Π½Π° ΡΠΎΠ»Ρ XML-ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.
ΠΠ»Π°Π²Π° 5. Π¦ΠΈΠΊΠ» ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π²ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ CLR Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ° .NET ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ. Π ΡΡΠΎΠΉ ΡΠ²ΡΠ·ΠΈ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎ ΡΠΎΠ»ΠΈ ΠΊΠΎΡΠ½Π΅ΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΠΈΠΏΠ° System.GC. ΠΠΎΡΠ»Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π² ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΡΠ°ΡΡΠΈ Π³Π»Π°Π²Ρ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ΅ΠΌΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΠΈΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² (ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IDisposable), ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° System.Object.Finalize()).
ΠΠ»Π°Π²Π° 6. Π‘ΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (Ρ.Π΅. ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π² ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ ΡΠ·ΡΠΊΠ° C# (try, catch, throw ΠΈ finally), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΡΠ½ΠΈΡΠ΅ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈ ΡΡΠΎΠ²Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² Π³Π»Π°Π²Π΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Visual Studio 2005, ΠΏΡΠΈΠ·Π²Π°Π½Π½ΡΠ΅ ΡΠΏΡΠΎΡΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΡΠΊΠΎΠ»ΡΠ·Π½ΡΠ²ΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
ΠΠ»Π°Π²Π° 7. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ
ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ Π½Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΊΠ°ΠΊ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎ ΡΠΊΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ²Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΡΠ°ΡΡΠΈ Π³Π»Π°Π²Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ System. Collections, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·Π° ΡΠΈΠΏΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΠ»Π°Π²Π° 8. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, Π΄Π΅Π»Π΅Π³Π°ΡΡ ΠΈ ΡΠΎΠ±ΡΡΠΈΡ
Π¦Π΅Π»Ρ Π³Π»Π°Π²Ρ 8 Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΠΈ ΡΠΈΠΏΠ° Π΄Π΅Π»Π΅Π³Π°ΡΠ°. Π£ΠΏΡΠΎΡΠ΅Π½Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π΄Π΅Π»Π΅Π³Π°Ρ .NET β ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½, "ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ" Π½Π° ΠΌΠ΅ΡΠΎΠ΄Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠΎΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ- ΠΠΎΡΠ»Π΅ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π΅Π»Π΅Π³Π°ΡΠΎΠ².NET (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΡ ΡΡ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ 2.0, β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ) Π² Π³Π»Π°Π²Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ C# event, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅Π»Π΅Π³Π°ΡΠΎΠ².
ΠΠ»Π°Π²Π° 9. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ²
ΠΡΠ° Π³Π»Π°Π²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ Π³Π»ΡΠ±ΠΆΠ΅ ΠΏΠΎΠ½ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C# ΠΏΡΡΠ΅ΠΌ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ (ΡΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ), ΠΊΠ°ΠΊ ΡΡΡΠΎΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ c ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ C-ΡΠΈΠΏΠ° Π² ΡΠ°ΠΉΠ»Π΅ *.cs.
ΠΠ»Π°Π²Π° 10. ΠΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΡ
Π ΡΠ²Π°Π·ΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ .NET 2.0 ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C# Π±ΡΠ» ΡΠ°ΡΡΠΈΡΠ΅Π½ Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ CTS, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΌΠΈ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ (generics). ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΈΠΏΠΎΠ²ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ. ΠΠ΄Π΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ System, Collections.Generic, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠΈΠΏΡ (ΠΊΠ°ΠΊ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠ°ΠΊ ΠΈ Π±Π΅Π· ΡΠ°ΠΊΠΎΠ²ΡΡ ).
Π§Π°ΡΡΡ III. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² .NETΠ ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΡΠΌΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² .NET. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΈ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° .NET, ΠΈ Π²ΡΡΡΠ½ΠΈΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° .NET. Π ΡΡΠΎΠΉ ΠΆΠ΅ ΡΠ°ΡΡΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΡΠΎΠ»Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² .NET ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π³Π»Π°Π²Π°Ρ ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ [ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° CIL.
ΠΠ»Π°Π²Π° 11. ΠΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ .NET
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ β ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ *.dll ΠΈΠ»ΠΈ *.exe. ΠΠΎ ΡΠ°ΠΊΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² .NET ΠΎΡΠ΅Π½Ρ Π΄Π°Π»Π΅ΠΊΠ° ΠΎΡ "ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅ΠΉ". ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ ΡΡΡΠΎΡΡΡΡ ΠΈ ΠΈΠ½ΡΡΠ°Π»Π»ΠΈΡΡΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΡ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ XML-ΡΠ°ΠΉΠ»Ρ *.config ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°. ΠΠΎ Ρ ΠΎΠ΄Ρ Π΄Π΅Π»Π° Π±ΡΠ΄ΡΡ Π²ΡΡΡΠ½Π΅Π½Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ° GAC (Global Assembly Cache β Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΊΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ²) ΠΈ ΡΠΎΠ»Ρ ΡΡΠΈΠ»ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ .NET Framework 2.0.
ΠΠ»Π°Π²Π° 12. ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ², Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ²
Π Π³Π»Π°Π²Π΅ 12 ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² .NET ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ β Π·Π΄Π΅ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Π² ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ System.Reflection. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠ΅ ΡΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² "Π½Π° Π»Π΅ΡΡ". ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΈΠΏΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅. ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ»Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² .NET (ΠΊΠ°ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ). Π§ΡΠΎΠ±Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π²ΡΠΈΡ ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ², Π² ΠΊΠΎΠ½ΡΠ΅ Π³Π»Π°Π²Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Windows Forms.