рд╕рд┐рдВрдЧрд▓рдЯрди рдФрд░ рд╕реНрдЯреИрдЯрд┐рдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд▓реЗрдЦрдХ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдмреБрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛: "рдПрдХрд▓, рд╕реНрдерд┐рд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдЖрд░рдореНрднрдХреЛрдВ рдкрд░, рдкрд╣рд▓реЗ рдХреЗ рдлрд╝реНрд▓реИрдЯрдЗрди рдзреНрд╡рдЬ рдкрд░ рдФрд░ рдЧрддрд┐рд░реЛрдз рдФрд░ рд╕реНрдереИрддрд┐рдХ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡ред рдиреЗрдЯ рдврд╛рдБрдЪрд╛ 3.5 рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рдирд┐рд░реНрдорд╛рдг рд╕реЗрд╡рд╛рдПрдБ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди," рд╣рд╛рд▓рд╛рдВрдХрд┐ред рд▓реЗрдЦрдХ рдХреЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рдХрд╛рд░рдг рд╕реЗ рдмрд╣реБрд╕реНрддрд░реАрдп рдирд╛рдо рдЖрдзреБрдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╕рдореБрджрд╛рдп рдореЗрдВ рдЬрдбрд╝ рдирд╣реАрдВ рд▓реЗрддреЗ рдереЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ (рд▓реЗрдЦрдХ рдиреЗ) рдЗрд╕ рдирд╛рдо рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд░рд╛рдХреНрд╖рд╕реА рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдореВрд▓ рдЕрд░реНрде рд╡рд┐рдХреГрдд рдХрд░ рд░рд╣реЗ рдереЗред

-------------------------

рд╕рд┐рдВрдЧрд▓рдЯрди рдкреИрдЯрд░реНрди рдХреЗ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рджреЛ рд▓рдХреНрд╖реНрдп рд╣реЛрддреЗ рд╣реИрдВ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмрд╣реБ рдереНрд░реЗрдбреЗрдб .Net рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП; рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди "рдЖрд▓рд╕реА" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдпрд╛ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ (рд╕рдВрднрд╛рд╡рд┐рдд) рдорд╣рдВрдЧреА рд╡рд╕реНрддреБ рди рдмрдирд╛рдИ рдЬрд╛рдП рдЬрд╣рд╛рдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рд╕рд┐рдВрдЧреНрд▓рдЯрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЛ рдореБрдЦреНрдп рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ "рдЖрд▓рд╕реНрдп" рдореЗрдВ рдЕрдХреНрд╕рд░ рдХреЛрдИ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред



рдЖрдЗрдП рдПрдХ рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рдЖрд░рдВрднрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд┐рдВрдЧрд▓рдЯрди (*) рдкреИрдЯрд░реНрди рдХреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рджреЗрдЦреЗрдВ:

public sealed class Singleton
{
private static readonly Singleton instance = new Singleton();

// Explicit static constructor to tell C# compiler
// not to mark type as beforefieldinit
static Singleton()
{}

private Singleton()
{}

public static Singleton Instance { get { return instance; } }
}

* This source code was highlighted with Source Code Highlighter .


рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдереНрд░реЗрдб рд╕реБрд░рдХреНрд╖рд╛ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХрд┐ рдПрдХ рдбреЛрдореЗрди рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ (рдпрд╛, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЗрдирд┐рд▓рд╛рдЗрдЬрд╝рд░) рдХреЛ рдПрдХ рдмрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рдереНрд░реЗрдб рд╕реЗрдлреНрдЯреА рдХреЛ рдФрд░ рднреА рд╕реБрд░рдХреНрд╖рд┐рдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЕрдкрдиреЗ рдХрд╛рдиреЛрдВ рд╕реЗ рдХреЛрдИ рдлреАрд▓ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ (рдФрд░ рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЬрдм рддрдХ рдЦреБрдж рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ) рдЗрд╕ рдкрд░ рд╢рд╛рдВрдд рд╣реЛ рдЧрдП рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕рд┐рдВрдЧрд▓рдЯрди рдХреЗ рд╕рд╛рде рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рд▓реЛрдЧ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдерд┐рд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреА рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВред рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддреА рд╣реИ, рдПрдХ рдЦрд╛рд▓реА рд╕реНрдерд┐рд░ рд░рдЪрдирд╛рдХрд╛рд░ рдмрд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИред

рд╕реНрдЯреЗрдЯрд┐рдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдФрд░ рдлреАрд▓реНрдб рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░



рд╕реНрдЯреЗрдЯрд┐рдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рдЪреАрдЬрд╝ рд╣реИ, рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рд╕реНрдЯреИрдЯрд┐рдХ рдпрд╛ рдиреЙрди-рд╕реНрдЯреИрдЯрд┐рдХ рдореЗрдВрдмрд░ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдХреНрд▓рд╛рд╕ рдХрд╛ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднреА рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ C # рдореЗрдВ рдПрдХ рдХреНрд▓рд╛рд╕ рдореЗрдВ рд╕реНрдЯреИрдЯрд┐рдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреА рд╕реНрдкрд╖реНрдЯ рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕реЗ FirstFieldInit рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдк рдХреЛ "рд░рд┐рд▓реИрдХреНрд╕" рддрд░реАрдХреЗ рд╕реЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ .net рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 4 рддрдХ, рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ "рдЖрд╕реНрдердЧрд┐рдд" рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдХреБрдЫ рднреА рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рддреЛ рдЖрдЗрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рджреЗрдЦреЗрдВ:

class Singleton
{
//static Singleton()
//{
// Console.WriteLine(".cctor");
//}

public static string S = Echo( "Field initializer" );

public static string Echo( string s)
{
Console .WriteLine(s);
return s;
}
}

class Program
{

static void Main( string [] args)
{
Console .WriteLine( "Starting Main..." );
if (args.Length == 1)
{
Console .WriteLine(Singleton.S);
}
Console .ReadLine();
}
}

* This source code was highlighted with Source Code Highlighter .


рдЪреВрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд┐рдВрдЧреНрд▓рдЯрди рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд╕реНрдерд┐рд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд╣рд▓реЗрдлрд┐рд▓реНрдбрдЗрдВрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдереИрддрд┐рдХрдХрд░рдг рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд╣рд▓реА рдХреЙрд▓ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рдЗрд╕ рдХреЙрд▓ рд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, .Net рдлреНрд░реЗрдорд╡рд░реНрдХ 3.5 рдФрд░ рдирд┐рдореНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╕реНрдЯреЗрдЯрд┐рдХ рдлрд╝реАрд▓реНрдб рдХреЛ рдореБрдЦреНрдп рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧрд╛, рднрд▓реЗ рд╣реА рд╕реНрдерд┐рддрд┐ args рд╣реЛред рд▓реЗрдЧреНрдиреНрде == 1 рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рддреЗ рд╣реИрдВ:

рдлрд╝реАрд▓реНрдб рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░

рдореБрдЦреНрдп рд╢реБрд░реВ ...

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдереИрддрд┐рдХ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕реНрд╡рдпрдВ рдЯрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЬреЗрдЖрдИрдЯреА рд╕рдВрдХрд▓рдХ рдЙрд╕ рдЪрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рддреБрд░рдВрдд рдкрд╣рд▓реЗ рд╕реНрдЯреИрдЯрд┐рдХ рд╡реИрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЪрд░ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдпрджрд┐ рдЖрдк рд╕рд┐рдВрдЧрд▓рдЯрди рдХреНрд▓рд╛рд╕ рдХреЗ рд╕реНрдЯреИрдЯрд┐рдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдЕрд╕рд╣рдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд╣реА рд╣реЛрдЧрд╛ рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ - рдлреАрд▓реНрдб рдЗрдирд┐рд╢рд▓рд╛рдЗрдЬрд╝рд░ рдХреЛ рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рд╣реЛрдЧрд╛, рддреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд▓рд╛рдЗрди рд╣реЛрдЧреА: " рд╕реНрдЯрд╛рд░реНрдЯрд┐рдВрдЧ рдореЗрди ..." ред

рдиреЛрдЯ

рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд╕реНрдерд┐рд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЙрд╕реЗ рдмрд╛рдВрдзрд╛ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рди рд╣реА рдмрд╛рдВрдзрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк "рдХрд╛рдиреВрди рдХреЗ рдкрддреНрд░" рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ (рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рдмрд┐рдирд╛), рд╕рд┐рдВрдЧрд▓рдЯрди рдЪрд░ ред рд╕рд┐рдВрдЧреНрд▓рдЯрди рдХреНрд▓рд╛рд╕ рдХреЛ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХрд░рддреЗ рд╕рдордп рдПрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЬрдм рдПрд╕ рдлреАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдЯреИрдЯрд┐рдХ рдореЗрдердб рдХреЛ рдЗрдирд╡реЙрдЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдПрд╕ рдлреАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреИрдЯрд┐рдХ рдлрдВрдХреНрд╢рди рдХреЛ рдЗрдирд╡рд╛рдЗрдЯ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджреНрдпрдкрд┐ рдпрд╣ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗрдлреНрд▓реИрдЯрдЗрдирд┐рдЯ рдзреНрд╡рдЬ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕реА # рднрд╛рд╖рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЙрд▓ рдХрд╛ рд╕рд╣реА рд╕рдордп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, .Net рдлреНрд░реЗрдорд╡рд░реНрдХ 4 рдХреЗ рддрд╣рдд рдЙрдкрд░реЛрдХреНрдд рд╕реНрд░реЛрдд рдХреЗ рдЯреБрдХрдбрд╝реЗ (рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕реНрдерд┐рд░ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рдмрд┐рдирд╛) рдХреЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдЕрдзрд┐рдХ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ: рдПрд╕ рдлрд╝реАрд▓реНрдб рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛! рдЖрдк рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рджрд┐рдП рдЧрдП рд╕рд╛рдЗрдЯрд▓рд┐рдВрдХ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрдереИрддрд┐рдХ рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдЧрддрд┐рд░реЛрдз



рдЪреВрдВрдХрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдерд┐рд░ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЖрд╡реЗрджрди рдбреЛрдореЗрди рдореЗрдВ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реАрдПрд▓рдЖрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ рдХрд╣рддрд╛ рд╣реИред рдлрд┐рд░, рдпрджрд┐ рдХреЛрдИ рд╕реНрдЯреИрдЯрд┐рдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдереНрд░реЗрдб рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдереНрд░реЗрдб рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдЙрд╕реА рдЖрдВрддрд░рд┐рдХ рд╕реАрдПрд▓рдЖрд░ рд▓реЙрдХ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛, рддреЛ рд╣рдореЗрдВ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдЧрддрд┐рд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

рдЖрджрд░реНрд╢ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ: рдЗрд╕рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдерд┐рд░ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ, рдпрд╣ рдПрдХ рдирдпрд╛ рдзрд╛рдЧрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ:

class Program
{
static Program()
{
var thread = new Thread(o => { });
thread.Start();
thread.Join();
}

static void Main()
{
// ,
//
// Program
}
}

* This source code was highlighted with Source Code Highlighter .


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рд╣рдо рд╕реАрдПрд▓рдЖрдИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд┐рд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЗ рдЕрдВрджрд░ рдЕрд╡рд░реЛрдзрдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рдпрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдЧрддрд┐рд░реЛрдз рд╕рдВрднрд╡ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдХ рд╕реНрдерд┐рд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдзрд╛рдЧреЗ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рдирд╛рдо рдореНрдпреВрдЯреЗрдХреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдЧрддрд┐рд░реЛрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдЕрд╕рд▓реА рдЖрд╡реЗрджрди рдореЗрдВ рдмрдЧ



рдпрд╣ рд╕рднреА рдмрдХрд╡рд╛рд╕, рд╕реНрдерд┐рд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рдХреЙрд▓рд┐рдВрдЧ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдФрд░ рдЧрддрд┐рд░реЛрдз рдХреЗ рд╕рдордп рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЙрдВрдЧрд▓реА рд╕реЗ рдЪреВрд╕рд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рд╕рдЪ рдХрд╣реВрдБ рддреЛ, рдореИрдВ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ рдПрдХ рд╣реА рд░рд╛рдп рдХрд╛ рдерд╛, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдкреВрд░рд╛ рджрд┐рди рдПрдХ рдмрд╣реБрдд рдЕрдкреНрд░рд┐рдп рдмрдЧ рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдВ рдмрд┐рддрд╛рдКрдВред

рддреЛ, рдпрд╣рд╛рдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рдХреНрд╖рдг рд╣реИрдВ рдЬреЛ рдореИрдВ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдХрдВрд╕реЛрд▓ рдореЛрдб рдореЗрдВ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдФрд░ рд╕рд╛рде рд╣реА рд╕рд╛рде рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдХрд╛рдо рдХрд░рддреА рд╣реИ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдбреАрдмрдЧ рдореЗрдВ рдПрдХ рд╕рд╛рде рд░рдЦрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдмрд╛рд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ: рдпрд╣ рдПрдХ рдмрд╛рд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рд░ рд▓реЙрдиреНрдЪ рдЯрд╛рдЗрдордЖрдЙрдЯ рджреНрд╡рд╛рд░рд╛ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрд╡рд╛ 30 рд╕реЗрдХрдВрдб рдореЗрдВ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рдПрд╕рд╕реАрдПрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рд░рддрд╛ рд╣реИ)ред

рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред (1) рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдЙрдВрдЯрд░ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ; (2) рд╕реЗрд╡рд╛ рд╡рд░реНрдЧ рдПрдХ рд╕реНрдерд┐рд░ рд╕реНрдерд┐рд░ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЖрд░рдореНрдн рдХрд░рдХреЗ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ (3) рдЗрд╕ рд╕рд┐рдВрдЧрд▓рдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ рдХрдВрд╕реЛрд▓ рдореЛрдб рдореЗрдВ рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╡рд┐рдзрд┐ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

//
partial class Service : ServiceBase
{
// "" .
public static readonly Service instance = new Service();
public static Service Instance { get { return instance; } }

public Service()
{
InitializeComponent();

//
var counters = new CounterCreationDataCollection();

if (PerformanceCounterCategory.Exists(category))
PerformanceCounterCategory.Delete(category);

PerformanceCounterCategory.Create(category, description,
PerformanceCounterCategoryType.SingleInstance, counters);
}

//
public void Start()
{}

const string category = "Category" ;
const string description = "Category description" ;
}
// Program
static void Main( string [] args)
{
if (args[0] == "--console" )
Service.Instance.Start();
else
ServiceBase.Run( new Service());

}

* This source code was highlighted with Source Code Highlighter .


рдЪреВрдВрдХрд┐ рд╕рд░реНрд╡рд░ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕реНрдЯреИрдЯрд┐рдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ C # рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд╣рд▓реЗ рдХреЗ рдлрд╝реНрд▓реИрдЯ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдореЗрди рдХреНрд▓рд╛рд╕ рдХреЗ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд░реНрд╡рд┐рд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдПрдХ рдирд╛рдорд┐рдд рдореНрдпреВрдЯреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдЙрдВрдЯрд░ рдХреА рдПрдХ рд╢реНрд░реЗрдгреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рдЖрд╡реЗрджрди рдЧрддрд┐рд░реЛрдз рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ: рдкрд╣рд▓реЗ рд░рди рдХреЗ рджреМрд░рд╛рди, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╢реНрд░реЗрдгреА рдЕрднреА рддрдХ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХреНрдЬрд╝рд┐рд╕реНрдЯ рд╡рд┐рдзрд┐ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдХреНрд░рд┐рдПрдЯ рд╕рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ; рдЕрдЧрд▓реЗ рд░рди рдХреЗ рджреМрд░рд╛рди, рдПрдХреНрд╕рд┐рд╕реНрдЯ рд╡рд┐рдзрд┐ рд╕рд╣реА рд╣реЛ рдЬрд╛рддреА рд╣реИ , рдбрд┐рд▓реАрдЯ рд╡рд┐рдзрд┐ рд╕рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░рд┐рдПрдЯ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдЧ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдкрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдареАрдХ 13 рд╕реЗрдХрдВрдб рд▓рдЧреЗ: рд╕реЗрд╡рд╛ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдирд┐рд░реНрдорд╛рддрд╛ рдЬреЛрдбрд╝реЗрдВред

рдирд┐рд╖реНрдХрд░реНрд╖



рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ C # рднрд╛рд╖рд╛ рдХреЗ рдиреБрдХрд╕рд╛рди рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рдкреИрдЯрд░реНрди рдФрд░ рдореБрд╣рд╛рд╡рд░реЛрдВ рдХреЗ рдЙрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рдмрдХрд╡рд╛рд╕ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрддрдХрд╛рд░реЛрдВ (**) рдХреЗ рдХрд╛рд▓реНрдкрдирд┐рдХ рдирд╣реАрдВ рд╣реИрдВ, рдРрд╕реЗ рдХрдИ рд▓реЗрдЦ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рднрд░рдкрд╛рдИ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред рдЖрдЬ рдЖрдк рд╕рд┐рдВрдЧрд▓рдЯрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рдХреНрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд▓ - рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЕрддреБрд▓рдиреАрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде, рдЬрд┐рд╕ рджрд┐рди рдХреЗ рдмрд╛рдж рдЖрдк рдереНрд░реЗрдб рдХреЗ рд╕рд╛рде рдереНрд░реЗрдб рдХреЛ рд╣рд░рд╛ рджреЗрддреЗ рд╣реИрдВред рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмреЗрдореЗрд▓ рдХрд░реЗрдВ (***)ред рдпреЗ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдмрд╣реБрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рдиреАрдВрд╡ рдореЗрдВ рд░рдЦреЗ рдЧрдП рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреА рд╕рдордЭ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдмреБрд░рд╛рдИ рдмрдЧ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдПрдХ рдФрд░ рджрд┐рди рдмрдЪрд╛ рд╕рдХрддреА рд╣реИред

рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ





-------------------------

(*) рд╕рд┐рдВрдЧрд▓рдЯрди рдкреИрдЯрд░реНрди рдХреЗ рджреЛ рдЕрдиреНрдп рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ: (1) рдбрдмрд▓ рдЪреЗрдХ рд▓реЙрдХрд┐рдВрдЧ, рдФрд░ (2) рд▓реЗрдЬрд╝реА < рдЯреА> рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЬреЛ .Net рдлреНрд░реЗрдорд╡рд░реНрдХ 4 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред

(**) рдореЗрд░реЗ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдХрд╛ рджреГрдврд╝ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдХрд┐рддрд╛рдмреЗрдВ рдФрд░ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЙрди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЙрдирдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рд╕рд┐рдВрдЧрд▓рдЯрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдФрд░ рдпрд╣ рдХрд┐ рдЖрдкрдХреЛ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рдлрд╝рд╛рдЗрдирд▓реАрдЬрд╝рд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЖрдИрдбреАрд╕реЛрдлрд╝реЗрдХреНрдЯрд┐рд╡ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред

(***) рдЕрдЧрд░ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдкрд░рд╕реНрдкрд░ рд╕рд╛рд░реНрдердХ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдШрдЯрддреА рд╣реИрдВ, рддреЛ рдкрд┐рдЫрд▓рд╛ рд▓реЗрдЦ "рдкрд░рд╕реНрдкрд░ рд╕рд╛рд░реНрдердХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЦрддрд░реЛрдВ рдкрд░" рдЖрдкрдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдереНрд░реЗрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдирд╛ рдмреБрд░рд╛ рдХреНрдпрд╛ рд╣реИ, рддреЛ рджреЛ рднреА рд╣реИрдВ рдиреЛрдЯ: "рдереНрд░реЗрдб.рдмреЛрд░реНрдЯ рдХреЙрд▓рд┐рдВрдЧ рдХреЗ рдЦрддрд░реЛрдВ рдкрд░" , рд╕рд╛рде рд╣реА рдХреНрд░рд┐рд╕ рд╕реЗрд▓ рджреНрд╡рд╛рд░рд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж "рд░реЛрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд░реНрдирд┐рдВрдЧ рдереНрд░реЗрдбрдмреЛрд░реНрдЯ рдПрдХреНрд╕рдкрдЯреЗрд╢рди " ред

Source: https://habr.com/ru/post/In125421/


All Articles