Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°.
ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C#)
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ Solution1 ΠΈ Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Debug. Start Debugging. Π ΡΠ΅ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π½Π°Π΄ΠΏΠΈΡΡ Lib. Π’Π°ΠΊ ΡΡΠΎ Π²Π΅ΡΡ ΠΊΠΎΠ΄ ΡΠ°ΠΉΠ»Π° CodeFile2 ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° MainExe ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΈΠ΄. ΠΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΠ΅ΡΡΠ΅Π΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ° (garbage collection). LibClasses._1 inst1 = new LibClasses._1(); LibClasses._1 inst1 = new LibClasses._1(); ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ. Static void Main (string… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°. ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C#) (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ.
inst1.Method ();
ΠΈ Π½ΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ «ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠΉ (unassigned) ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ inst1».
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ, ΠΎΠΏΠΈΡΠ°Π² ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ inst1 ΠΊΠ»Π°ΡΡΠ° LibClasses._1, ΠΌΡ Π½Π΅ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ°ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ inst1 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π»ΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π² «Π½ΠΈΠΊΡΠ΄Π°» (null). ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΈΠ΄Π°.
inst1 = new LibClasses._1();
ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΠ΅ΡΡΠ΅Π΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°.
LibClasses._1 inst1;
Π΄ΡΡΠ³ΠΈΠΌ.
LibClasses._1 inst1 = new LibClasses._1();
Π’Π°ΠΊ ΡΡΠΎ Π²Π΅ΡΡ ΠΊΠΎΠ΄ ΡΠ°ΠΉΠ»Π° CodeFile2 ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° MainExe ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΈΠ΄.
class _2.
{.
static void Main (string[] args).
{.
LibClasses._1 inst1 = new LibClasses._1();
inst1.Method ();
System.Console.ReadLine ();
}.
}.
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ Solution1 ΠΈ Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Debug. Start Debugging. Π ΡΠ΅ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π½Π°Π΄ΠΏΠΈΡΡ Lib.
ΠΠ΅ΡΠΎΠ΄ LibClasses._1(), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π² ΡΠ·ΡΠΊΠ΅ C# ΠΈΠΌΠ΅Π΅Ρ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ, ΡΡΠΎ ΡΠ°ΠΌ ΠΊΠ»Π°ΡΡ, ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ new.
Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ. ΠΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΡΡΠ΅ (heap) ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Π°. ΠΡΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ?
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ° (garbage collection).
ΠΠ±ΡΡΠ½ΠΎ, ΠΏΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π·Π°Π½ΡΡΠ°Ρ ΠΏΠ°ΠΌΡΡΡ Π²ΠΎΠ²ΡΠ΅ΠΌΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π»Π°ΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ Π±Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° inst1 ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° Main. ΠΠΎ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΡΠ΅Π΄Π΅ .NET ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ!