
рджреЛ рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ, рд╣рдордиреЗ
рд░реЗрд╕реНрдкрд░ 7.0 рдХреА рд░рд┐рд╣рд╛рдИ рдХреА рдШреЛрд╖рдгрд╛ рдХреА , рдХреЗрд╡рд▓ рдЙрди рдирдП рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЬреЛ рдЗрд╕ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдереЗред
рдЖрдЬ, MSDN рдФрд░ TechNet рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдкрд╛рд╕ Visual Studio 2012 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣
ReSharper 7.0 рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рд╣реИред
рд▓реЗрдЦ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ (рдЬреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЖрдкрдХреЛ рдЗрд╕ рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛):
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012
рдирдП рд░реЗрд╕рдкреЗрд░ рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ VIsual Studio 2012 рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдФрд░ рдкрд╛рд░рджрд░реНрд╢реА рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ред рдпрд╣ рд╕рдорд░реНрдерди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдирдИ рддрдХрдиреАрдХреЛрдВ рдХреЗ рдирдП рдкрд╣рд▓реБрдУрдВ рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП рдПрдХ рдРрд╕реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рдЖрдП рд╣реИрдВред
рдереАрдо рд╕рдорд░реНрдерди
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 "рдереАрдо" рдкреНрд░рддрд┐рдорд╛рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреЛ рд╡рд┐рд╖рдпреЛрдВ - рд▓рд╛рдЗрдЯ рдФрд░ рдбрд╛рд░реНрдХ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рд╣рдордиреЗ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдордВрдЬрд╕реНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╕рднреА рдореЗрдиреВ, рдЖрдЗрдХрди рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд░реЗрд╕реНрдкрд░ рдореЗрдВ рджреЛрдиреЛрдВ рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИред

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

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдЙрди рдЖрдЗрдХрди рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдореЗрдиреВ, рд╡рд┐рдВрдбреЛ рдЖрджрд┐ рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рд╣реЛрдВрдЧреЗ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдЗрдХрди - рдкреНрд░рдХрд╛рд░, рдЧреБрдг, рдЖрджрд┐ред рдЖрдЗрдХрдиреЛрдВ рдХреЛ
ReSharper рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
| рд╡рд┐рдХрд▓реНрдк | рдЬрдирд░рд▓ред рд╣рд╛рдВ, рдФрд░ рд╣рдордиреЗ рдЕрдкрдиреЗ рдореВрд▓ рдЖрдЗрдХрдиреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рдХрд┐рдпрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд▓реЛрдбрд┐рдВрдЧ
VS2012 рдореЗрдВ, Microsoft рдиреЗ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реЛрдбрд┐рдВрдЧ (ASL) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛, рдЬреЛ рдХрд┐ рдУрдкрди рд╣реЛрдиреЗ рдкрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рднрд╛рд░ рд╕реЗ рдкрд╣рд▓реЗ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
7 рд╡реЗрдВ рд░реЗрд╕рдкреЗрд░ рдореЗрдВ, рд╣рдордиреЗ рдПрдПрд╕рдПрд▓ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрдИ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ - рдЗрд╕рд▓рд┐рдП рдЕрдм рдЖрдк рддреБрд░рдВрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рддреЗрдЬреА рд╕реЗ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рднреА рд░рд┐рдЪрд╛рд░реНрдкрд░ рдХреА рдХрд╛рд░реНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдмрдврд╝реА рд╣реБрдИ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, Visual Studio 2010 рдФрд░ ReSharper 6 рдХреЗ рд╕рд╛рде рдЦреБрд▓рдиреЗ рдкрд░ 300 рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╡рд╛рд▓реЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ 5 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВред 12 рд╕реЗрдХрдВрдбред, рдФрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рд░реАрд╢рд░ 7 рдХреЗ рд╕рд╛рде - рдХреЗрд╡рд▓ 1 рдорд┐рдирдЯред 17 рд╕реЗрдХрдВрдб
рддреНрд╡рд░рд┐рдд рд▓реЙрдиреНрдЪ
VS2012 рдореЗрдВ, рдпрджрд┐ рдЖрдк рдареАрдХ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рддрддреНрд╡ рдпрд╛ рдХрдорд╛рдВрдб рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИ, рддреЛ рдЖрдк рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рд▓реЙрдиреНрдЪ рдкреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╕реНрдЯреВрдбрд┐рдпреЛ рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдЗрд╕ рдореЗрдиреВ рдореЗрдВ рдЕрдкрдиреА рдЦреБрдж рдХреА рдЯреАрдореЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдЕрдм, рдпрджрд┐ рдЖрдк рдкреИрдирд▓ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ QuickLaunch рдЖрдкрдХреЛ рд╕рднреА рд╕рдВрдмрдВрдзрд┐рдд рд░реАрд╕рд░реНрдЪ рдХрдорд╛рдВрдб рджреЗрдЧрд╛:

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

Resharper рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдЯреИрдм рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐
Go To Type / Member / File / Declaration рдХреЗ рд╕рд╛рде-рд╕рд╛рде
Find Usages рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдВрдбреЛ рдореЗрдВред
рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдХрд░реНрддрд╛
рдирдП рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ, рдЖрдк рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ - рдХрдХреНрд╖рд╛рдПрдВ, рд╡рд┐рдзрд┐рдпрд╛рдБ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдмрджрд▓реЗ рдореЗрдВ, рдмрджрд▓реЗ рдореЗрдВ, рдЗрди рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, usages рдФрд░ рдЕрдиреНрдп рдкрд░рд┐рдЪрд┐рдд рдЖрдЬреНрдЮрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ - рджреЛрдиреЛрдВ рдкреЙрдк-рдЕрдк рдореЗрдиреВ рдХреЗ рдЙрдкрдпреЛрдЧ рдФрд░ рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред

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

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

рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо
рд╡рд┐рдВрдбреЛрдЬ 8 рдФрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдХреА рдЖрдЧрд╛рдореА рд░рд┐рд▓реАрдЬрд╝ рд╣рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рд░рдирдЯрд╛рдЗрдо (рдпрд╛ рд╢реЙрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рдирдЖрд░рдЯреА) рдирд╛рдордХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдЪреВрдВрдХрд┐ WinRT рдкрд░ рд╡рд┐рдХрд╛рд╕ рдЙрди рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ Resharper рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ (C #, VB.NET, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ), рд╣рдордиреЗ ResRper рдореЗрдВ WinRT рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИред
C #, VB.NET рдФрд░ XAML
Resharper C # / VB.NET рдФрд░ XAML рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред WinRT рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдмрдирд╛рдИ рдЧрдИ рдереАрдВ:
- рдХреЛрдб рдкреВрд░реНрдгрддрд╛ рдХреЛрдб рдФрд░ XAML рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рджреЛрдиреЛрдВ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред XAML рдореЗрдВ, Resperper рдирдП рдирд╛рдорд╕реНрдерд╛рди рдФрд░ рдкреНрд░рд╛рд░реВрдкреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рдФрд░ рд╕рдВрдкрд╛рджрди рд╕рдВрджрд░реНрдн рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдРрдб-рдСрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ:

- WinRT- рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдХреЛрдб рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реАрдХреНрд╖рдг рдЬрд╛рд░реА рд╣реИ:

- рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ (рддреНрд╡рд░рд┐рдд-рд╕реБрдзрд╛рд░) рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЬрд▓реНрджреА рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ:

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

- рд╕рдВрджрд░реНрдн рдЕрдиреБрдХреВрд▓рди C # / VB.NET рдЙрдиреНрдореБрдЦ WinRT рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИ:

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
C # / VB.NET WinRT рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬреЛ WPF рдФрд░ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдореЙрдбрд▓ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ (WinJS рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ WinRT рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдореЙрдбрд▓ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, Resharper рдЗрд╕реЗ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
- рдХреЛрдб рдкреВрд░рд╛ рдХрд░рдирд╛ HTML, CSS рдФрд░ JavaScript рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ HTML рдХреЗ рдЕрдВрджрд░ JSON рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рднреА:

- рдЖрдпрд╛рддрд┐рдд WinRT рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдПрдХ рд╡рд░реНрдЧ рд╣реИ

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ Resharper рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдСрдЯреЛ-рдкреВрд░реНрдг рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

- рдмреЗрд╢рдХ, рдиреЗрд╡рд┐рдЧреЗрд╢рди рдФрд░ рдЦреЛрдЬ WinRT рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдКрдкрд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ C # рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ
Person
рд╡рд░реНрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ WinSSF рдХрд╛ рд▓рд┐рдВрдХ рдорд┐рд▓реЗрдЧрд╛:

- рдЙрдкрдпреЛрдЧ рддрдВрддреНрд░ рд╕реЗ рдирд┐рд░реНрдорд╛рдг (рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдХреЛрдб рддрддреНрд╡ рдмрдирд╛рдирд╛) рднреА рдХреНрд░реЙрд╕-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЖрдпрд╛рддрд┐рдд WinRT рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ:

рддрдм рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдШрдЯрдХ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛:

- Refactorings (рдЬреИрд╕реЗ рдирд╛рдо , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рднреА рдХреНрд░реЙрд╕-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, WinRS рдореЗрдВ рдПрдХ WinRT рдШрдЯрдХ рд╕реЗ рдЕрдиреБрдорд╛рдирд┐рдд рд╕рдВрдкрддреНрддрд┐ рдирд╛рдо рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдореВрд▓ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╡рд╛рдж рдЦреЛрд▓реЗрдЧрд╛:

рддрджрдиреБрд╕рд╛рд░, рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж, C # рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо fullName
, рдФрд░ рдЕрдиреБрдорд╛рдирд┐рдд рдШрдЯрдХ рдореЗрдВ, fullName
ред
рдареАрдХ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, C #, VB.NET, XAML, HTML, CSS рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ WinRT рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
рдХреЛрдб рдЬрдирд░реЗрд╢рди
рдпрджрд┐ Resharper рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдк-рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдереА рдХрд┐ рдХреМрди рдЕрдзрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЬреЗрдирд░реЗрдЯ рддрдВрддреНрд░ рдирд┐рд░реНрд╡рд┐рд╡рд╛рдж рд╡рд┐рдЬреЗрддрд╛ рд╣реЛрдЧрд╛ред рдФрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдирдП Resharper рдореЗрдВ, рд╣рдордиреЗ рдЗрд╕ рддрдВрддреНрд░ рдореЗрдВ рдХрдИ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдФрд░ рд╕реБрдзрд╛рд░ рдЬреЛрдбрд╝реЗ рд╣реИрдВред
рдЖрдВрд╢рд┐рдХ рд╡рд┐рдзрд┐ рдкреАрдврд╝реА
рдХрдИ рдХреЛрдб рдЬрдирд░реЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ
partial
рдХрдХреНрд╖рд╛рдУрдВ рд╕реЗ рдпреБрдХреНрдд рдХреЛрдб рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╛рдж рдореЗрдВ рдЙрддреНрдкрдиреНрди рдШрдЯрдХреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рд╕рдХреЗрдВ рдпрд╛ рдкреВрд░рдХ рдХрд░ рд╕рдХреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрдХрд╛рдИ рд╡рд░реНрдЧреЛрдВ рдХреЛ
partial
рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдЗрдХрд╛рдИ рдврд╛рдВрдЪрд╛ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИред
Resharper рдЕрдм рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдВрд╢рд┐рдХ рддрд░реАрдХреЛрдВ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдкреАрдврд╝реА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдПрдХ
partial
рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдПрдВ рдФрд░
Generate | рдЖрдВрд╢рд┐рдХ рддрд░реАрдХреЗ :

рдЕрдм рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

... рдФрд░ рд╕рднреА рдЪрдпрдирд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЪрдпрдирд┐рдд рд╡рд░реНрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛:

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

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рд╡рд┐рдХрд▓реНрдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рд╢рд░реНрдд рдЬреЛ рдХрд┐
Equals()
рдорд┐рд▓рд╛рди
Equals()
рд╡рд┐рдзрд┐ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рддреА рд╣реИ, рдЙрд╕реЗ рдирд┐рдореНрди рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдкреНрд░рдХрд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

- рд╡рд░реНрдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

- рдкреНрд░рдХрд╛рд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рд╡рд░реНрдЧ рдХрд╛ рдЕрдиреБрдЧрд╛рдореА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

рд╕рдорд╛рдирддрд╛ рддреБрд▓рдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ
рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЗрдирд▓рд╛рдЗрди рддреБрд▓рдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирдпрд╛
рд░реЗрд╕реНрдкрд░ рдПрдХ рдирдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ
рдЬреЗрдирд░реЗрдЯ рдЗрдХреНрд╡реЗрд▓рд┐рдЯреА рдХрдореНрдкреЗрд░рд┐рдЬрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ
рдЕрд▓рдЧ рд╡рд░реНрдЧ рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ
IEqualityComparer<T>
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреБрд▓рдирд╛ рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрднреА-рдХрднреА рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдкреАрдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ
Person
рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджреЛ рдЧреБрдг рд╣реИрдВред рд╣рдо рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╣рддреЗ рд╣реИрдВ:

... рдФрд░, рдЙрди рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЬрд┐рди рдкрд░ рд╣рдо рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ,
Person
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрддреНрдкрдиреНрди рдирд┐рдЬреА рдиреЗрд╕реНрдЯреЗрдб рд╡рд░реНрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рд╕реНрдерд┐рд░ рдЙрджрд╛рд╣рд░рдг рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ:

рд╕рдорд░реНрдерди INotifyPropertyChanged
рдпрджрд┐ рдЖрдкрдХреА рдХрдХреНрд╖рд╛
INotifyPropertyChanged
рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ рдпрд╛ рдЗрд╕ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ
INotifyPropertyChanged
рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд┐рдЬрд╝реНрдо рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ
NotificationObject
), рддреЛ
Generate Properties рдХреНрд░рд┐рдпрд╛ рдЖрдкрдХреЛ рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧреБрдг рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░реЗрдЧреА:

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

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

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

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

рджреВрд╕рд░реЗ, рдпрджрд┐ рдЖрдк рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╡рд┐рдзрд┐ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд╣реАрдВ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рдВрднрд╡ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдСрдЯреЛ-рд╕рдорд╛рдкрди рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

рд╡рд┐рднрд┐рдиреНрди рдЪреМрдЦрдЯреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
INotifyPropertyChanged
рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВред рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрдХреНрд╕рд░ рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╕реЗ рд╡рд╛рд░рд┐рд╕ рд╣реЛрддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдЕрдВрддрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рдЪреМрдЦрдЯреЗ рд╡рд┐рдзрд┐ рдирд╛рдо рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рдмрдЬрд╛рдп рд▓реИрдВрдмрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдкреБрдирд░реНрд╡рд┐рдХреНрд░реЗрддрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреМрдЦрдЯреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ:
- MVVM рд▓рд╛рдЗрдЯ (WPF 3 рдФрд░ 4; рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ 3, 4 рдФрд░ 5; рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 7 рдФрд░ 7.1)
- Caliburn.Micro (WPF 3 рдФрд░ 4; рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ 4 рдФрд░ 5; рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 7.1)
- рдкреНрд░рд┐рдЬреНрдо (WPF 4; рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ 4)
- рдХреИрдЯрд▓ (WPF 3 рдФрд░ 4)
- MVVMHelpers (WPF 3 рдФрд░ 4, рдХреЗрд╡рд▓ рд▓реИрдореНрдмреНрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ)
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░рд┐рдЬрд╝реНрдо рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ
NotificationObject
рдкреНрд░рдХрд╛рд░ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рдЬрдм рдЖрдк рдЧреБрдг рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ
RaisePropertyChanged
рдкрджреНрдзрддрд┐ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛
RaisePropertyChanged
рдЬрд┐рд╕реЗ рдЖрдк рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рд▓реИрдореНрдмреНрдбрд╛-рдЙрдиреНрдореБрдЦ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдЧреБрдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ:

рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдпреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдХрд▓реНрдк рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ:

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

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

рдПрдХ рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЙрди рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (neologism?) рдФрд░ рд╕рд╛рде рд╣реА рдЙрд╕ рдирдП рд╡рд░реНрдЧ рдФрд░ рдЪрд░ рдХрд╛ рдирд╛рдо рднреА рджреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдЙрджрд╛рд╣рд░рдг "рдЕрднрд┐рднрд╛рд╡рдХ" рдореЗрдВ рд╣реЛрдЧрд╛:

рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рднреА рдХрдИ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЦреАрдВрдЪреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ:

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХреНрд╕реНрдЯреНрд░реЗрдХреНрдЯ рдХреНрд▓рд╛рд╕ рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрди рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рдирдП рд╡рд░реНрдЧ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддреЗ рд╕рдордп рдкреИрджрд╛ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреА рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИрдВред рд╕реВрдЪреА рдореЗрдВ рдЪреБрдиреЗ рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП, Resharper рдЕрдиреНрдп рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ, рдЬрдм рдЖрдк рдЙрд╕ рддрддреНрд╡ рдХреЗ рдЪреЗрдХ рдмреЙрдХреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ Resharper рдЕрдиреНрдп рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ рдЬреЛ рд╕рд╣реА рдирд┐рд╖реНрдкрд╛рджрди рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк
PrintCity()
рд╡рд┐рдзрд┐ рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦреЗрдВрдЧреЗ:

... рдФрд░ рдирд┐рдореНрди рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреА рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧ рд╕рдВрдШрд░реНрд╖ рд╣реЛрдЧрд╛: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ
private
рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЬреЛ рдЕрднреА рднреА рдореВрд▓ рд╡рд░реНрдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, Resharper рдЖрдкрдХреЛ рд╕реНрдЯреЙрдк рдЖрдЗрдХрди рджрд┐рдЦрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрдИ рд╕рдорд╛рдзрд╛рди рдкреЗрд╢ рдХрд░реЗрдЧрд╛:

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

рдКрдкрд░ рджрд┐рдП рдЧрдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рд╡рд╛рдкрд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
Tuple<Person,bool
> рдФрд░
Transform Out Parameters рдмрд┐рд▓реНрдХреБрд▓ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдмрд╕ рдЗрд╕реЗ
out
рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд╣реЗрдВ ...

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

рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рдзрд┐ рд╣реЛрдЧреА рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдЕрдзрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЬреЛ рдПрдХ рдЯрдкрд▓ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛:

рдпрд╣ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ C # рдФрд░ VB.NET рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред рдЪреВрдВрдХрд┐
Tuple
рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 4 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐
void
рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рдПрдХрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдЖрдкрдХреЛ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЖрдк
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЯрдкрд▓ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдЖрдкрдХреЛ
out
рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕ рдЯрдкрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг
рд░рд┐рд╕рд░реНрдкрд░ рдХреА рдпреВрдирд┐рдЯ-рдЯреЗрд╕реНрдЯ рд▓реЙрдиреНрдЪ рдкреНрд░рдгрд╛рд▓реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЯреВрд▓рдХрд┐рдЯ рдХрд╛ рдПрдХ рдкрд░рд┐рдЪрд┐рдд рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЧрдИ рд╣реИред рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдПрдХ рдПрдХреАрдХреГрдд рдкрд░реАрдХреНрд╖рдг рд▓реЙрдиреНрдЪ рддрдВрддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдбрд┐рдмреНрдмреЗ рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг рд▓реЙрдиреНрдЪ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд╣рдЬ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд▓рдЧ-рдЗрди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдХрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣рд╛рдВ 7 рд╡реЗрдВ рд░реЗрд╕реНрдкрд░ рдореЗрдВ рдирдИ рдкрд░реАрдХреНрд╖рдг рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЬреИрд╕реНрдореАрди
Resharper рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╣рдордиреЗ Qunit рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред рдЙрд╕реА рд░рд┐рд▓реАрдЬ рдореЗрдВ, рд╣рдордиреЗ
рдЬреИрд╕реНрдореАрди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреАрдбреАрдбреА рдлреНрд░реЗрдорд╡рд░реНрдХред

рдХрд╣реАрдВ рдФрд░, рдЬреИрд╕реНрдореАрди рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рдкрд░реАрдХреНрд╖рдг рд░рди рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ:

PhantomJS
рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, ReSharper 7 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП -
рдлреИрдВрдЯрдордЬрд╕ -
рд╡реЗрдмрдХреЗрдЯ рдЗрдВрдЬрди рдХреЗ рдХрдВрд╕реЛрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (
рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ | рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреЗрд╕реНрдЯ рдЯреИрдм) рдХреЛ рдЦреЛрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдЙрд╕ рд░рд╛рд╕реНрддреЗ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ PhantomJio рд╕реНрдерд╛рдкрд┐рдд рд╣реИ:

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

рдЪреВрдБрдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо рд╕реЗ рдПрдХ рдЪрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИ, Resharper рднреА рд╡реИрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдирд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ:

... рдФрд░ рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рд╡рд┐рдХрд▓реНрдк рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

рдЕрдиреНрдп рдЪреМрдЦрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
рдпрджрд┐ рдЖрдк рдПрдХ рдкрд░реАрдХреНрд╖рдг рдврд╛рдБрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ Resharper "рдореВрд▓ рд░реВрдк рд╕реЗ" рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдкреНрд▓рдЧрдЗрди рд▓реЗрдЦрдХ рд╡рд┐рднрд┐рдиреНрди рдкрд░реАрдХреНрд╖рдг рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рддрд┐рдерд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдкреБрдирд░реНрд╡рд┐рдХреНрд░реЗрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реА
рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдореЗрдВ
рдПрдЧреБрдиреЗрдЯ ,
рдЧреИрд▓рд┐рдпреЛ / рдПрдордмреАрдпреВрдиреАрдЯ ,
рдПрдХреНрд╕рдпреВрдирд┐рдЯ , рдФрд░
рдПрдордПрд╕рдкреАрдИрд╕реА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
ReSharper SDK рдореЗрдВ рдирдИ рднрд╛рд╖рд╛ рдХрд╛ рд╕рдорд░реНрдерди
ReSharper SDK рдХреА рдкрд╣рд▓реА рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ, рд╣рдореЗрдВ Resharper рдореЗрдВ рдирдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рдордиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд▓реЗрдХреНрд╕рд░реНрд╕ рдФрд░ рдкрд╛рд░реНрд╕рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕реЗрдЯ рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЙрдкрдХрд░рдг
Resharper рдореЗрдВ рдирдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЗрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП lexers рдФрд░ parsers рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╕рд╛рде рд╣реА Resharper API рдХреЛ рдЗрди рдЙрддреНрдкрдиреНрди рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдмрд╛рдж рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ SDK рдореЗрдВ
Tools
рдирд╛рдордХ рдПрдХ рдлреЛрд▓реНрдбрд░ рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдкрдпреЛрдЧреА рдЯреВрд▓ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
- CsLex - рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╢рд╛рдмреНрджрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг
- parserGen - Resharper рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдкрд╛рд░реНрд╕рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг
- рдЬрд╛рд╡рд╛ - рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ IKVM рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдкрд╛рд░реНрд╕рд░ рдЬрдирд░реЗрдЯрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ (рдЬреЛ рд╕реНрд╡рдпрдВ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ)
- MSBuild - рдРрд╕реЗ рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд╛рд░реНрд╕рд░реНрд╕ рдФрд░ рд▓реЗрдХрд░реНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ
рдЙрджрд╛рд╣рд░рдг
рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЯреВрд▓ рдореЗрдВ рд╕реЗ рдПрдХ,
рдкрд╛рд░реНрд╕рд░рдЧреЗрди , рдкрд╛рд░реНрд╕рд░ (рдкреАрдПрд╕рдЖрдИ рдлрд╛рдЗрд▓) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реНрд╡рдпрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рдкрддреНрдерд░ рд╕реЗ рджреЛ рдкрдХреНрд╖рд┐рдпреЛрдВ рдХреЛ рдорд╛рд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдПрдХ рдкреНрд▓рдЧ-рдЗрди рдЬреЛ рдХрд┐ рдкреАрдПрд╕рдЖрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреА рднрд╛рд╖рд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
- рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдкреНрд░рджрд╛рди рдХрд░рдХреЗ, рдПрдХ рдирдИ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
- рдирдИ рднрд╛рд╖рд╛рдПрдБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ
рдирд┐рд╖реНрдХрд░реНрд╖
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, Resharper 7 рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
- SharePoint рдФрд░ LightSwitch рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕
- ASP.NET 4.5 рдФрд░ ASP.NET MVC 4
- рдЪрд░ рдирд╛рдордХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдирд╛рдордХрд░рдг рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)ред
- ... рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ!
рдЖрдк
рд╡рд┐рддрд░рдг рдХрд┐рдЯ рдХреЛ 30-рджрд┐рди рдХреА рдирд┐рдГрд╢реБрд▓реНрдХ рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ рд░реАрд╢рд░ 7 рдХреЛ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдУрдкрди-рд╕реЛрд░реНрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕
рдореБрдлреНрдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╢реИрдХреНрд╖рд┐рдХ рд╕рдВрд╕реНрдерд╛рди
рдореБрдлреНрдд рдХрдХреНрд╖рд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред