рдирдИ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдХреЛрдИ рднреА рдХрдВрдкрдиреА рдЕрднреА рднреА рдмрд░реНрджрд╛рд╢реНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИред рдЬреИрд╕реЗ рд╣реА рдирдИ рд░реВрдкрд░реЗрдЦрд╛ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдВ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИрдВ, ReSharper рдЙрдирдХреЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред рджрд░рдЕрд╕рд▓, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдЖрдкрдХреЛ
ReSharper 8 EAP рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЙрджреНрдШрд╛рдЯрди
рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдФрд░ рдЖрдЧрд╛рдореА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдЖрдкрдХреЛ ReSharper 8 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдХреГрдкрд╛ рд╣реИред
рд╕рдм рдХреБрдЫ рдЬрд╛рдирд╛
ReSharper 8 рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ, рд╣рдордиреЗ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдЬрд┐рди рдкрд╣рд▓реБрдУрдВ рдХреЛ рд╣рдордиреЗ рд╕реБрдзрд╛рд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИ рдореЗрдиреВ рдореЗрдВ рдЬрд╛рдирд╛ред рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ, рд╣рдордиреЗ
рдЧреЛ рдЯреВ рдЯрд╛рдЗрдк рдХрдорд╛рдВрдб (Ctrl + T) рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛, рддрд╛рдХрд┐ рдпрд╣ рдЕрдм рдЖрдкрдХреЛ рдЯрд╛рдЗрдк, рдкреНрд░рддреАрдХ рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ, рдФрд░ рдЗрди рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕реВрдЪреА рдЙрди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ:
рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рдЦреЛрдЬ рдЙрди рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ, рдкреНрд░рдХрд╛рд░реЛрдВ рдФрд░ рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ рдЬрд┐рдирдореЗрдВ рдпрд╣ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛрддрд╛ рд╣реИ:
рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ - рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рднреА рдкрд┐рдЫрд▓реЗ "рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛рдУрдВ" (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдЧреЛ рдЯреВ рдлрд╝рд╛рдЗрд▓ ) рдЬрдЧрд╣ рдореЗрдВ рдмрдиреЗ рд░рд╣реЗ, рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдЧрддрд┐рд╢реАрд▓ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдиреЗ рднреА рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ред рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдХрд╛рдордХрд╛рдЬ рднреА рдпрдерд╛рд╡рдд рдмрдирд╛ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
ClassName.MemberName
рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдЧ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрддреНрд╡ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдХреЙрдореНрдмреЛ рдиреЗрд╡рд┐рдЧреЗрд╢рди, рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдФрд░ рдКрдВрдЯ-рдХреВрдмрдбрд╝ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ рдХрдИ рдирдП рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рд╣реИ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк
public
рдпрд╛
private
рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рддрддреНрд╡реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЙрдирдХреА рджреГрд╢реНрдпрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдХрд░ рджреЗрдВрдЧреЗред рд╣рдордиреЗ рдЗрд╕ рдореЗрдиреВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдЦреЛрдЬ рдмрд╣реБрдд рдЬрд▓реНрджреА рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдСрдЯреЛ рд╕рдорд╛рдкрди рд╕рдВрд╡рд░реНрджреНрдзрди (рдХреЛрдб рд╕рдорд╛рдкрди)
рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдХреЛрдб рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рддрдВрддреНрд░ рдореЗрдВ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдирдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рддрддреНрд╡
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдПрдХ рдХрдХреНрд╖рд╛ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ
INotify
рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢реБрд░реВ
INotify
, рддреЛ R # рдЖрдкрдХреЛ
INotify
рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрдЪреА рдкреЗрд╢ рдХрд░реЗрдЧрд╛:
рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рд╕рднреА рд╕рдВрднрд╡ рдЗрдВрдЯрд░рдлреЗрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ
INotify
рд╢реБрд░реВ
INotify
, рдФрд░ рдЬрдм рдЖрдк рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ R # рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓ рд╣реЗрдбрд░
using
рд╕рдВрдмрдВрдзрд┐рдд рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, ReShaprer рдЕрдм рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ
partial
рдФрд░
override
рдХреАрд╡рд░реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХрдИ рдЬреЗрдирд░реЗрдЯрд░ рдСрдЯреЛ-рдкреВрд░реНрдгрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдордиреЗ рдореМрдЬреВрджрд╛ рдСрдЯреЛ-рдкреВрд░рд╛ рддрдВрддреНрд░ рдХреЛ рдереЛрдбрд╝рд╛ рд╕реБрдзрд╛рд░ рджрд┐рдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕реВрдЪреА рдореЗрдВ рдЕрдм
new
рдХреАрд╡рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИ:
рдЕрдиреНрдп рдСрдЯреЛ-рд╕реБрдзрд╛рд░ рдореЗрдВ рд╕реБрдзрд╛рд░
рдПрдХ рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдЬреЛ рд╣рдордиреЗ рдЬреЛрдбрд╝реА рд╣реИ, рдЙрд╕реЗ рджреЛрд╣рд░реА рдкреВрд░реНрдгрддрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ: рдЬрдм рдЖрдк рдПрдХ рдмрд╛рд░ рд╕рд░рд▓ рдСрдЯреЛ-рдкреВрд░рд╛ (Ctrl + Space) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрд╕ рддрддреНрд╡ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк рдЙрд╕реА рдХреБрдВрдЬреА рд╕рдВрдпреЛрдЬрди рдХреЛ рдлрд┐рд░ рд╕реЗ рджрдмрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдмрд╛рд░ рдЦреЛрдЬ рд░реЗрдВрдЬ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡реНрдпрд╛рдкрдХ рд╣реЛ рдЬрд╛рдПрдЧреА рдФрд░ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рднреА рдХрдиреЗрдХреНрдЯреЗрдб рдЕрд╕реЗрдВрдмрд▓реАред
рд╕реНрдорд╛рд░реНрдЯ рдЬреЛрдбрд╝ (рд╕реНрдорд╛рд░реНрдЯ рдкреВрд░реНрдгрддрд╛, Ctrl + Alt + Space) рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдХреБрдВрдЬреА рд╕рдВрдпреЛрдЬрди рдХреЛ рдХрдИ рдмрд╛рд░ рджрдмрд╛рдХрд░, рдЖрдк рдЪрдпрдирд┐рдд рдЖрдЗрдЯрдо рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╕рдВрдХреЗрдд рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
рдбрдмрд▓ рдкреЗрдбрд┐рдВрдЧ рддрдВрддреНрд░ рддреНрд╡рд░рд┐рдд рд╕реБрдзрд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдЪрд░рд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдЬреА, рддреЛ рдЖрдк рддреБрд░рдВрдд рдЗрд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдирдпрд╛ рдирд┐рд░реАрдХреНрд╖рдг
рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ, рд╣рдо рдирдП рдХреЛрдб рдирд┐рд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдореМрдЬреВрджрд╛ рд▓реЛрдЧреЛрдВ рдХреЛ рднреА рд╕реБрдзрд╛рд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдирдореВрдирд╛ рд╣реИ:
- рдЕрдм рдЖрдк рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рд╕рднреА ReSharper рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЕрд▓рдЧ рд╕реЗ рдЙрди рдирд┐рд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк "рджрдмрд╛рдирд╛" рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЕрдм рдмрд╕ рд▓рд┐рдЦреЗрдВ
// ReSharper disable all
рдФрд░ R # рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ // ReSharper restore all
ред
- рдЕрдм рдЖрдк рд╕рд░рдгреА рдЖрд░рдВрднреАрдХрд░рдг рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдФрд░ рд╕рд░рдгреА рдирд┐рд░реНрдорд╛рдг рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмреАрдЪ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; ReSharper рдЙрдЪрд┐рдд рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреНрд░рд┐рдпрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
рдЕрдм рдЖрдк
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХреЙрд▓ рдХреЛ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
рдпрджрд┐ рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ
рдЕрдзрд┐рднрд╛рд░ рд╣реИ рдЬреЛ рдПрдХ рдХреЙрд▓ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдпрд╛рдиреА, рдПрдХ
CancellationToken
рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ), рддреЛ R # рдЖрдкрдХреЛ рдЗрд╕ рдЕрдзрд┐рднрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдЧрд╛, рдмрд╢рд░реНрддреЗ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрдкрд▓рдмреНрдз рд░рджреНрдж рдЯреЛрдХрди рд╣реИ:
рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ "рдлреЙрд▓рдмреИрдХ" рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╕рдорд░реНрдерди:
рдЙрдкрд░реЛрдХреНрдд рд╕реВрдЪреА рдЙрди рдирд┐рд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдирдореВрдирд╛ рд╣реИ рдЬреЛ рд╣рдордиреЗ рдЬреЛрдбрд╝реЗ рд╣реИрдВред
рд╕реАрдПрд╕рдПрд╕ рд╕рдВрд╡рд░реНрджреНрдзрди
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреЛрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, ReSharper рдиреЗ CSS3 рдФрд░ рдЙрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рдорд░реНрдерди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд▓реЛрдХрдкреНрд░рд┐рдп рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдЬрд╛рдВрдЪ рднреА рдХреА рд╣реИ:
рдЗрди рдЪреЗрдХреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, ReSharper рдЕрдм рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
рд╣рдо RSON рдХреА рд╡рд┐рднрд┐рдиреНрди CSS рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рд╕рдордЭ рдореЗрдВ рд╕реБрдзрд╛рд░ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ JSON рдореЗрдВ ...
... рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЯрд░рд▓ рдореЗрдВ
... рдпрд╛ рдЕрдирд╛рдо рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдореЗрдВ рднреА:
CSS рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рдФрд░ рднреА рд╕реНрдорд╛рд░реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХреЛрдб рдореЗрдВ рд▓рд╛рд▓ рд░рдВрдЧ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ ReSharper рд╕реАрдПрд╕рдПрд╕, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕реА # рдореЗрдВ рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд╣рд╛рдВ рдпрд╣ рд░рдВрдЧ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рдХреИрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ:
рдЕрдВрдд рдореЗрдВ, ReSharper рдЕрдм CSS рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЦреЛрдЬрдХрд░реНрддрд╛
рдЖрдк рдореЗрдВ рд╕реЗ рдЬреЛ
рдбреЙрдЯрдкреЗрдХ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдирд┐: рд╢реБрд▓реНрдХ
рдбрд┐рдХрдореНрдкреЙрдЗрд▓рд░ , рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ - рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЗ рд╕рдорд╛рди рдПрдХ рдкреИрдирд▓ рдЬреЛ рдЖрдкрдХреЛ
рдЕрд╕рдореНрдмрджреНрдз рдЕрд╕реЗрдВрдмрд▓реА рджрд┐рдЦрд╛рддрд╛ рд╣реИред рддреЛ, рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкреИрдирд▓ рдЕрдм ReSharper рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ:
рдЕрд╕реЗрдВрдмрд▓реА рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдкреЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╝рд┐рдк) рд╕реЗ рдЕрд╕реЗрдВрдмрд▓реА рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рдЕрд╕реЗрдВрдмрд▓реА рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рднреА рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдЬреЛ рдХрд┐ рдЖрдЬ рдбреЙрдЯрдкреЗрдХ рдкреНрд▓рдЧ-рдЗрди рд╣реИред рдЕрдм рдЗрд╕рдХреА рд╕реБрд╡рд┐рдзрд╛рдПрдБ ReSharper рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдзреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
BAML рдбреАрдХрдВрдкрд╛рдЗрд▓рд░
рдЪреВрдВрдХрд┐ рд╣рдо рдЕрдкрдШрдЯрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдореЗрдВ рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - BAML рдХреЛ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрдХрд▓рд┐рдд WPF рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╡рд┐рдШрдЯрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ XAML рдХреЛрдб рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрддреНрдкрдиреНрди XAML рдЙрд╕реА рдиреЗрд╡рд┐рдЧреЗрд╢рди рдФрд░ рдЦреЛрдЬ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ ReSharper рдпрд╛ dotPeek рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдПрдХ рдмрд╛рдд рдФрд░ ...
рдпрд╣рд╛рдБ рдХреБрдЫ рдФрд░ рдмрд╛рддреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдХреЛрдб рдХреНрд▓реАрдирдЕрдк рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рдЕрдм рд╕рд╣реА рдврдВрдЧ рд╕реЗ
#if
рдФрд░
#region
рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕ рдирд┐рд░реНрджреЗрд╢рди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗ:
рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП R # рдХреЛ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдПрдХ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рднреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ XML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдирдП рдИрдПрдкреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗред
рдЦреИрд░, рдЕрдВрдд рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд░реНрдерди рдкрд░ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЬрд▓реНрджреА рд╣реИ, рд▓реЗрдХрд┐рди, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ, рдпрд╣ рднрд╛рд╖рд╛ рд╣рдорд╛рд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдерд╛рди рд░рдЦрддреА рд╣реИ, рдФрд░ рдЬреИрд╕реЗ рд╣реА рд╣рдо рддреИрдпрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ, рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗред
рд╡рд╣ рд╕рдм, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ - рдЕрдм рдЬрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ 8k рдореЗрдВ рдХреМрди рд╕реА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реЛрдВрдЧреА, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рдХреНрдпреЛрдВ рди рдЖрдЬрд╝рдорд╛рдПрдБ? рдмрд╕
рд╡рд┐рддрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ! тЦа