
рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ \ .NET рдХреЗ рдХреБрдЫ рдордЬрд╝реЗрджрд╛рд░ рдХреАрдбрд╝реЗ (рдпрд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ) рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдБрдЧрд╛ рдФрд░ рд╢рд╛рдпрдж рдХреБрдЫ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рд╕реЗ рдЖрдкрдХреА рдмрд╛рдд рд╕реБрдиреВрдБрдЧрд╛ред рдмреЗрд╢рдХ, рдЦреБрдж рдХреЛ рдкреВрд░реНрд╡реЛрдХреНрдд рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рдмрдЧ рдХрдИ рдереЗ (рд╣реИрдВ) рдХрдИ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╢реЗрд╖ рд╕рд╛рдЗрдЯ рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
connect.microsft.com ред рдореИрдВ рдЕрдкрдиреА рд░рд╛рдп рдореЗрдВ рд╕рдмрд╕реЗ рдордЬреЗрджрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдЬрд╛рджреВ рдХреЗ рдкрд╛рддреНрд░
рдкрд╣рд▓реА рдмрдЧ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдкрд░ рдЬрдмреНрдмрд╛рд░-рдЧреНрд░рд╛рд╣рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ - рдЬрдм рдЬрдмрд░рдмрд░реА рдкрд░ рдХреБрдЫ рд╕рдореНрдореЗрд▓рди рд╕реЗ рдПрдХ рд╡рд┐рд╖рдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рдмреЗрд╡рдХреВрдлреА рд╕реЗ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ред рдмрд╣реБрдд рд╕рдордп рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдВ рдмрд┐рддрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рдЗрд╕ рдмрд╣реБрдд рд╣реА рд╡рд┐рд╖рдп рдХреЗ рдкрд╛рда рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛, рдЕрд░реНрдерд╛рддреНред UI рдкрд░ рдкрд╛рда рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдПрдХ рдмрдЧ рдХреЛ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХрд┐рдпрд╛ред рдкрд╛рда рд╕реЗ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдХрд╛рдЯрдХрд░, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ "characters" рдЕрдХреНрд╖рд░ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЬрдм рдЖрдк рдХрд┐рд╕реА рднреА WPF рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдореЗрдВ рдХреЛрдб рд╕рдВрдкрд╛рджрдХреЛрдВ) рдореЗрдВ рдЗрди рд╡рд░реНрдгреЛрдВ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рддреБрд░рдВрдд рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдореМрдд рдкрд░ рд▓рдЯрдХ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдкрд░ рдирд╣реАрдВ рдЦреЗрд▓рд╛ рдЬрд╛рддрд╛)ред рдмрдЧ рдХреЛ connect.microsoft.com рдкрд░ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛, рд╡рд╣рд╛рдВ рдЙрдиреНрд╣реЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ DirectX рдореЗрдВ рдЕрд░рдмреА рдлреЛрдВрдЯ рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рдПрдХ рдмрдЧ рдерд╛ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ (рдпрд╣ 2 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдерд╛)ред рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдЕрдм рдирд╣реАрдВ рдЦреЗрд▓рддрд╛ рд╣реИред Jabber.ru рдкрд░, рд╡реИрд╕реЗ, рдЕрдм рдЙрдиреНрд╣реЗрдВ рдЕрд░рдмреА рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рддрд╛рд░рд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ (рдФрд░ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд, рд░рд╛рдЬрдиреАрддрд┐рдХ рд░реВрдк рд╕реЗ рдЧрд▓рдд рдЙрддреНрддрд░ рд▓рд┐рдЦрд╛ рдерд╛, рдЬрд┐рд╕реЗ рдореИрдВ рдЙрджреНрдзреГрдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛)ред
рд╕рд╛рд░рд╛рдВрд╢: рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп WPF рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ "
: " рдбрд╛рд▓реЗрдВред
рдЬрд╛рдирд╡рд░ рдХреА рд╕рдВрдЦреНрдпрд╛
Visual Studio рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдлрд┐рд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ:
int ╫Р╫С = 666;
рдореИрдВ рдХреБрдЫ рднреА рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ - рдмрд╕ рдХреЛрд╢рд┐рд╢ рдХрд░реЛред
рдЬреЗрдирд░рд┐рдХ, рдЬреЗрдирд░рд┐рдХ, рдЬреЗрдирд░рд┐рдХ!
рдПрдХ рд╕рд░рд▓ рдХрдВрд╕реЛрд▓ C # .NET рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ рдХрд╣реАрдВ рднреА рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:
class X<A, B, C, D, E> { class Y : X<Y, Y, Y, Y, Y> { YYYYYYYYY y;} }
рдПрдХ рд▓рдВрдмреЗ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрдХ рдХрд┐рд▓реЛ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЖрдХрд╛рд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ 29mb (!) рддрдХ рдмрдврд╝ рдЧрдпрд╛ред рдореИрдВ рдЗрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдЦреЛрд▓рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рдирд╣реАрдВ рд╣реБрдЖ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдСрдмрдлреНрдпреВрдЬрди :-) рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЬрд╛рд╡рд╛ рдореЗрдВ, рдЗрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЪреАрдЬреЗрдВ рдФрд░ рднреА рдЦрд░рд╛рдм рд╣реИрдВред
"рдХрдордЬреЛрд░" рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
class X<A, B, C> { class Y : X<Y, Y, Y> { YYYYYY y;} }
рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐
рдЬреЗрдЯрдкрд╛рдЗрдиреНрд╕ рдХреЗ рдбреЙрдЯрдкреЗрдХ ("рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░") рд╣рдореЗрдВ рдХреНрдпрд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
pastebin.com рдкрд░ рдкрд░рд┐рдгрд╛рдо ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╣рд╕реВрд╕ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдВрдХрд▓рдХ рдХреА рдПрдХ "рд╡рд┐рд╢реЗрд╖рддрд╛" рд╣реИ рдЬреЛ YYYYYY y рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред
рдФрд░ рдЖрдк рдХреНрдпрд╛ рдордЬрд╝рд╛рдХрд┐рдпрд╛ рдмрдЧ рдЬрд╛рдирддреЗ рд╣реИрдВ,% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо%?
рдкреБрдирд╢реНрдЪ: рдмрдбрд╝реЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдЕрднреА рднреА рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдиреАрдЪреЗ-рдКрдкрд░ рдХреЗ рдЙрдкрдХрд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рдЙрдиреНрд╣реЗрдВ рд╕рдВрдпреБрдХреНрдд рдХрд┐рдпрд╛ рд╣реИред
PS2: 2nd рдФрд░ 3rd рдмрдЧ рдХреЙрдиреНрдлреНрд░реЗрдВрд╕ dotnet@conference.jabber.ru рдореЗрдВ рдЬрд╛рд╕реВрд╕реА рдХрд░рддреЗ рд╣реИрдВ