рд╡рд┐рдВрдбреЛрдЬ 8 рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдПрдХ рдирдП рд╡рд░реНрдЧ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ - рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдоред WinRT рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬ рд╕реНрдЯреЛрд░ рдФрд░
рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдЕрдирд╡рд╛рдВрдЯреЗрдб C / C ++ рдХреЛрдб, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдФрд░ C # рдФрд░ рд╡рд┐рдЬреБрдЕрд▓ рдмреЗрд╕рд┐рдХ рдореЗрдВ рднреАред
рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдореЗрдЯрд╛рдбреЗрдЯрд╛
рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ, WinRT рдШрдЯрдХ COM (рдШрдЯрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓) рдШрдЯрдХ рд╣реИрдВ, рдЬреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЕрдм рдПрдкреАрдЖрдИ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдореЗрдЯрд╛рдбреЗрдЯрд╛ * .winmd рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ рдФрд░ .NET рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рдЕрджреНрдпрддрди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ
ECMA-335 рдорд╛рдирдХ рдХреА рдзрд╛рд░рд╛ 2 (рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рдФрд░ рд╢рдмреНрджрд╛рд░реНрде) рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдиреНрдХреЛрдбреЗрдб рд╣реИред рдЪреВрдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╣реА рдорд╛рдирдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрд┐рдд рдЯреВрд▓ (рдЬреИрд╕реЗ
ildasm.exe , рдСрдмреНрдЬреЗрдХреНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, WinMD рдлрд╝рд╛рдЗрд▓ рдХреЛ
ildasm.exe рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рджреЗрдЦрдирд╛ рдорд╛рдирдХ рдкреНрд░рдмрдВрдзрд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред рдХрдИ рдЕрдВрддрд░ рд╣реИрдВ рдЬреЛ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ - рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХрд┐ WinMD рдлрд╛рдЗрд▓реЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдХрд┐рд╕реА рднреА рдордзреНрдпрд╡рд░реНрддреА рднрд╛рд╖рд╛ (IL) рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдпреЗ рдлрд╛рдЗрд▓реЗрдВ рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдПрдкреАрдЖрдИ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИрдВред рдЗрди рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЙрдирдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдорд╢реАрди рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рдмрдВрдзрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП, WinRT API рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреЛ рдХреЗрд╡рд▓ рдПрдкреАрдЖрдИ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдВ рджреЗрдЦрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рддреА рд╣реИрдВред рджреГрд╢реНрдпреЛрдВ рдХреЗ рдкреАрдЫреЗ, рдХреЙрдорди рд▓реИрдВрдЧреНрд╡реЗрдЬ рд░рдирдЯрд╛рдЗрдо (рд╕реАрдПрд▓рдЖрд░) рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдкрд░рд┐рднрд╛рд╖рд╛ рдФрд░ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Windows.Foundation.winmd рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ (% WinDir% \ System32 \ WinMetadata рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд) рдореЗрдВ рдЖрдк рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреА
Windows.Foundation.Collections.ProperadSet рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдирд┐рдХрд╛рдп рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рдХрд╛рд░ рдореВрд▓ рдХреЛрдб рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред

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

рдпрд╣ рдХреАрд╡рд░реНрдб рд╕рдВрд╡реЗрджреА рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЯрд╛рдЗрдк рдбреЗрдлрд┐рдирд┐рд╢рди (рдЯрд╛рдЗрдкрдбрд┐рдл) рдПрдХ рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреНрд░рдХрд╛рд░ рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХреЙрд▓ рдХреЛ WinRT API рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
WinRT рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреЗ рд╕рд╛рде CLR рдЗрдВрдЯрд░реЗрдХреНрд╢рди
CRL,
Runtime Callable Wrapper (RCW) рдФрд░
COM Callable Wrapper (CCW) рд░реИрдкрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ COM рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕реАрдПрд▓рдЖрд░ рдореЗрдВ, рдПрдХ WinRT рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ
RCW рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрджрд▓реЗ рдореЗрдВ рдПрдХ WinRT рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб
RCW рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдХреЛрдб рдФрд░ WinRT рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмреАрдЪ рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред

рдЗрд╕реА рддрд░рд╣, рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ, рд╕реАрдПрд▓рдЖрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ
рд╕реАрд╕реАрдбрдмреНрд▓реНрдпреВ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрджрд▓реЗ рдореЗрдВ рд╕реАрдПрд▓рдЖрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИред Windows рд░рдирдЯрд╛рдЗрдо рдкреНрд░рдмрдВрдзрд┐рдд рдЗрдХрд╛рдИ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП
CCW рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд░рддрд╛ рд╣реИред
WinRT рдкреНрд░рдХрд╛рд░ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб
рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рд╕реАрдПрд▓рдЖрд░ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЬрдм рдЖрдк рдзреНрдпрд╛рди рд╕реЗ WinMD рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрдкреАрдЖрдИ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВред .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрд┐рдд рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, CLR рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ WinRT рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрди рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рддреАрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рдЕрд▓рдЧ рджрд┐рдЦрддреЗ рд╣реИрдВ:
- рдореБрдЦреНрдп рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдЬреЛ рдореЗрдЯрд╛рдбрд╛рдЯрд╛ рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЙрд╕реА рдПрд▓рд╛рдВрд╕реНрдЯрд┐рд╡рд╛рдИрдкреАрдИ рдЗрдиреНрдпреВрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдмрдВрдзрд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВред рдПрдХ рдЕрдкрд╡рд╛рдж SByte рдкреНрд░рдХрд╛рд░ рд╣реИ, рдЬреЛ WinRT рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
- рдЕрдиреБрдорд╛рдирд┐рдд рдкреНрд░рдХрд╛рд░ (рдореИрдк рдХрд┐рдП рдЧрдП рдкреНрд░рдХрд╛рд░) , рдЬреЛ WinMD рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рдЙрдирдХреЗ .NET рд╕рдордХрдХреНрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм CLR Windows.Foundation.Uri рдХреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ рдкрдврд╝рддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп System.Uri рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, CLR WinRT рдкреНрд░рдХрд╛рд░ рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, CLR рдкреНрд░рдмрдВрдзрд┐рдд рдФрд░ рдЕрдирд╡рд╛рдВрдЯреЗрдб рдХреЛрдб рдХреЗ рдмреАрдЪ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдмрддрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ Windows.oundation.Uri рдХреЗ рд░реВрдк рдореЗрдВ System.Uri рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ Windows рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред WinRT рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдЬреЛ FCL рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ CLR рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ ред
- рдЕрдиреНрдп рд╕рднреА рдкреНрд░рдХрд╛рд░ ред WinRT рдПрдкреАрдЖрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рд╢рд╛рд▓ рдмрд╣реБрдордд рдХреЗ рд░реВрдк рдореЗрдВ .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк Windows.UI.Xaml.Controls.Button рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ CLR рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рджреГрд╢реНрдп рдпрд╛ рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЬрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд▓рдЖрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ рднреА рдЗрд╕ рд╢реНрд░реЗрдгреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде Windows.Storage.IInputStream рдХреЗ WinRT рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕реЗ System.IO.Stream рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред Runtime.WindowsRuntime.dllред
рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдЕрднреА рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╢реНрд░реЗрдгреА рд╣реИ рдЬреЛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдЧреИрд░-рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдпреЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ WinRT рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░
System.MulticastDelegate рдХреЗ рд╕рд╛рде рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рднреА рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗрд╡рд▓ рдПрдХ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЯреЛрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдкреНрд░рдХрд╛рд░ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдкреНрд░рдХрд╛рд░ рд╣реИред

рдкреНрд░рдХрд╛рд░ рдкреНрд░рдХреНрд╖реЗрдкрдг
рдЬрдм CLR рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдкреНрд░рджрд░реНрд╢рд┐рдд) WinRT рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рджреЛ рдСрдкрд░реЗрд╢рди рдХрд░рддрд╛ рд╣реИ:
- рд╕реАрдПрд▓рдЖрд░ рдирд┐рдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд╣реАрдВред рдпрд╣ рд╕реНрд░реЛрдд рдкреНрд░рдХрд╛рд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпрдорд╛рди рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдпрд╛рдиреА рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдореМрдЬреВрдж рдПрдХрдорд╛рддреНрд░ рдкреНрд░рдХрд╛рд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдЬреЛ рдореИрдкрд┐рдВрдЧ рдХрд╛ рд▓рдХреНрд╖реНрдп рд╣реИред
- рд╕реНрд░реЛрдд рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рднреА рд╕рдВрджрд░реНрдн рд▓рдХреНрд╖реНрдп .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрджрд▓ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рддреЛ, рд╕реАрдПрд▓рдЖрд░
рдЖрдИрд╡реАрдПрд╕ <рдЯреА> рдХреЗ рд░реВрдк рдореЗрдВ
рдЖрдИрд╡реАрдХреЗрдЯрд░ <рдЯреА> рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ,
рдЖрдИрд╡реАрдПрд╕ <рдЯреА> рд╕реАрдПрд▓рдЖрд░ рдХреА рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдирд┐рдЬреА рджрд╛рдпрд░реЗ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдирддрд╛ рдХреЗ рд╕рд╛рде рдирд╣реАрдВред рдЗрд╕реА рдкреНрд░рдХрд╛рд░, рдЖрдИрд╡реАрдЖрд░рдПрдХреНрд╕рдПрдХреНрд╕рдПрд▓рдПрд▓.рдХрдВрдЯреНрд░реЛрд▓s.рдпреВрдЗрдореЗрдВрдЯрдореЗрдВрдЯрдХреЙрд▓рдХреНрд╢рди рдкреНрд░рдХрд╛рд░, рдЬреЛ рдЖрдИрд╡реАрдПрдХреНрдЯрд░ <UIElement> рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рд╕реАрдПрд▓рдЖрд░ рджреНрд╡рд╛рд░рд╛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
IVector <T> рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ
IList <T> рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ UIElementCollection IList <UIElement> рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗред
рдЖрдорддреМрд░ рдкрд░,
ildasm.exe рдХрд┐рд╕реА рднреА рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдмрд┐рдирд╛ WinMD рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдХрдЪреНрдЪрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде рдПрдХ WinMD рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ / рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕реАрдПрд▓рдЖрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░
WinRT рдШрдЯрдХреЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рднреА рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рд╡рд░реНрдЧреЛрдВ рдХреЛ
IInspectable рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ
IUnogn рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдЬреЛ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ) рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП, рд╕рднреА WinRT рдкреНрд░рдХрд╛рд░
System.Object рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рджрд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рд╡рд┐рд░рд╛рд╕рдд,
GetHashCode , рдЗрддреНрдпрд╛рджрд┐ рдЬреИрд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рддрд░реАрдХреЗред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ CLR рдорд╛рд░реНрд╢рд▓реНрд╕ WinRT рдФрд░ .NET рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рди рдЯрд╛рдЗрдо рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред
рд╕рдВрд░рдЪрдирд╛
WinRT рд╕рдВрд░рдЪрдирд╛, рдорд╣рддреНрд╡рдкреВрд░реНрдг CLR рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╕рдореЗрдВ рдореВрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдХреЗ рдЦреБрд▓реЗ рдХреНрд╖реЗрддреНрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп WinRT рд╕рдВрд░рдЪрдирд╛ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреЗрдЧрд╛:
public struct MyStruct { // 'MyStruct' contains non-public field 'MyStruct.i'. // Windows Runtime structures can contain only public fields. private Int32 i; //Windows Runtime structures can contain only fields. public MyStruct(Int32 i) { this.i = i; } //Windows Runtime structures can contain only fields. public void MyFunc() { } }
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, WinRT рд╕рдВрд░рдЪрдирд╛рдПрдВ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдпрд╛ рд╕рд╣рд╛рдпрдХ рддрд░реАрдХреЗ рдирд╣реАрдВ рд░рдЦ рд╕рдХрддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рд╕реАрдПрд▓рдЖрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рджрдо рдкрд░ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рд╣рд╛рдпрдХ рддрд░реАрдХреЗ рдФрд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЗрдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
Windows.Foundation.Point рдХреА рд╕рдВрд░рдЪрдирд╛,
Windows.Foundation.Size, рдФрд░
Windows.Foundation.Rect ред
рдкрдВрдХреНрддрд┐рдпрд╛рдВ
WinRT рдореЗрдВ
System.String рдкреНрд░рдХрд╛рд░ рдХреЛ
HSTRING рдХреЗ рд░реВрдк рдореЗрдВ
рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рдЬрдм рдЖрдк рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рд╡рд┐рдзрд┐ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ CLR рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рднреА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ
HSTRING рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣, CLR рд░рдирдЯрд╛рдЗрдо рд╡рд┐рдзрд┐ рд╕реЗ рд▓реМрдЯреА рдХрд┐рд╕реА рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ
System.String рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ - WinRT рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рддрд╛рд░реЛрдВ рдХреЛ рд╢реВрдиреНрдп рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИред рдЕрд╢рдХреНрдд рдХреЗ рдмрдЬрд╛рдп,
String.Empty рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд░рд┐рдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм WinRT рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирд▓ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ CLR рдПрдХ
ArgumentNullException рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛ред рдЗрд╕реА рддрд░рд╣, рдЖрдк рдХрднреА рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрдХ WinRT рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдирд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЕрд╢рдХреНрдд рд╕рдВрдЧрдд рдкреНрд░рдХрд╛рд░
WinRT API рдПрдХ рдЕрд╢рдХреНрдд-рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
Windows.Foundation.IReference <T> рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ CLR рдЕрдкрдиреЗ
рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред
Nullable <T> ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░ WinMD рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд┐рдзрд┐ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╣реИрдВ:
IReference<bool> Method(IReference<int> i);
рддрдм рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рдпрд╣ рд╡рд┐рдзрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
Nullable<bool> Method(Nullable<int> i);
рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ
рдХреЗрд╡рд▓ WinRT- рд╕рдВрдЧрдд рдкреНрд░рдХрд╛рд░ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рдХрд╛рд░ рдпрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЗ рд╡рд╛рдкрд╕реА рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ WinRT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА, рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ) рдЧреБрдВрдЬрд╛рдЗрд╢ рд╡рд╛рд▓реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рдиреЗрд╕реНрдЯреЗрдб рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдо рд╣реИрдВ)ред рдЬрдм рдЖрдк Windows рд░рдирдЯрд╛рдЗрдо рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ
CCW рдЖрд╡рд░рдг рдореЗрдВ рд▓рдкреЗрдЯреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рддрдм рддрдХ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рдореБрдХреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ WinRT рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕ BeginInvoke рдФрд░ EndInvoke рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВред
рдШрдЯрдирд╛рдУрдВ
WinRT рдШрдЯрдХ рдХреЗрд╡рд▓ WinRT рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ
Windows.Foundation.EventHandler <T> рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬреЛ CLR .NET .NET рдлреНрд░реЗрдорд╡рд░реНрдХ
рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП
рдореИрдк рдХрд░рддрд╛ рд╣реИред
EventHandler <TEventArgs> рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдкреНрд░рдХрд╛рд░ред рдЬрдм рдЖрдк рдПрдХ рдШрдЯрдирд╛ рдХреЗ рд╕рджрд╕реНрдп рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
public event EventHandler<RoutedEventArgs> MyEvent;
рдлрд┐рд░ рдЬрдм рдХреЛрдб рдХреА рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдХрдВрдкрд╛рдЗрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕реЗ рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ:
private EventRegistrationTokenTable<EventHandler<RoutedEventArgs>> MyEvent; public EventRegistrationToken add_MyEvent(EventHandler<RoutedEventArgs> handler) { return EventRegistrationTokenTable<EventHandler<RoutedEventArgs>> .GetOrCreateEventRegistrationTokenTable(ref MyEvent) .AddEventHandler(handler); } public void remove_MyEvent(EventRegistrationToken token) { EventRegistrationTokenTable<EventHandler<RoutedEventArgs>> .GetOrCreateEventRegistrationTokenTable(ref MyEvent) .RemoveEventHandler(token); }
рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рдирд┐рдЬреА рдХреНрд╖реЗрддреНрд░ рдФрд░ рдШрдЯрдирд╛ рд╕реЗ рдкрдВрдЬреАрдХрд░рдг рдФрд░ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдПрдХреНрд╕реЗрд╕рд░ рд╡рд┐рдзрд┐ рдмрдирд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣рдо (
Delegate.Combine рдФрд░
Delegate.Remove ) рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╢реНрд░реЗрдгреА
EventRegistrationTokenTable <T> рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝реАрд▓реНрдб рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ рддрд░реНрдХ рд╕рдВрдЧрдд рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдкреНрд░рдХрд╛рд░ рд╣реИред рдпрд╣ рд╡рд░реНрдЧ рдЙрди рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдЬреЛ рдШрдЯрдирд╛ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рдирдпрд╛ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдиреЗ рдкрд░,
EventRegistrationToken рдЯреЛрдХрди
рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ , рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
public void RaiseEvent() { var list = EventRegistrationTokenTable<EventHandler<RoutedEventArgs>> .GetOrCreateEventRegistrationTokenTable(ref MyEvent) .InvocationList; if (list != null) list(this, new RoutedEventArgs()); } public void Main() { var myClass = new MyClass(); var token = myClass.add_MyEvent(Handler); myClass.RaiseEvent(); myClass.remove_MyEvent(token); myClass.RaiseEvent(); } private void Handler(object sender, RoutedEventArgs args) { Debug.WriteLine("event handling"); }
рдХрд┐рд╕реА рдИрд╡реЗрдВрдЯ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП,
InvocationList рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдХреЙрд▓ рд╕реВрдЪреА рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рд╕рднреА рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рд╕рдордп рдФрд░ рддрд╛рд░реАрдЦ
WinRT рдореЗрдВ,
Windows.Foundation.DateTime рд╕рдВрд░рдЪрдирд╛ рджреНрд╡рд╛рд░рд╛ UTC рдореЗрдВ рд╕рдордп рдФрд░ рджрд┐рдирд╛рдВрдХ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред CLR рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЛ
System.DateTimeOffset рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИ,
System.DateTime рдХреЛ рдирд╣реАрдВред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐
DateTime рдореЗрдВ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, UTC рдкреНрд░рд╛рд░реВрдк рдореЗрдВ WinRT рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рджреА рдЧрдИ рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп CLR рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдиреАрдп рд╕рдордп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, WinRT рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП
DateTimeOffset рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ
рд╕рдордп , рджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдордп рдХреЛ UTC рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд░рдгрд┐рдпреЛрдВ
WinRT рдПрдкреАрдЖрдИ рдХреЗрд╡рд▓ рдПрдХ рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдПрдХ рд╕рдВрдХрд▓рди-рд╕рдордп рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛:
// Arrays in Windows Runtime method signatures must be one dimensional. public int[,] MyFunc() { return new int[5, 5]; }
рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ, рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рд╕реА рднреА рдХреЛрдб рдХреЛ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЗрд╕ рд╕рд░рдгреА рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд▓рд┐рдВрдХ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, WinRT рдХреЗ рд▓рд┐рдП рдпрд╣ рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд░рдгреА рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреЗрд╡рд▓ рдЙрд╕реА рджрд┐рд╢рд╛ рдореЗрдВ рдорд╛рд░реНрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ API
System.Runtime.InteropServices.InAttribute рдФрд░
System.Runtime.InteropServices.OutAttribute рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рджреЛрдиреЛрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╡рд┐рдзрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдпрд╛ рд░рд┐рдЯрд░реНрди рдорд╛рдиреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВ рдФрд░ рд░рди рд╕рдордп рдкрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдФрд░ рдЕрдкреНрд░рдмрдВрдзрд┐рдд рдореЗрдореЛрд░реА рдХреЗ рдмреАрдЪ рдорд╛рд░реНрд╢рд▓реЛрдВ рдХреА рджрд┐рд╢рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВред рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ, рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╛ рддреЛ рдХреЗрд╡рд▓ [InAttribute] рдпрд╛ рдХреЗрд╡рд▓-рд▓рд┐рдЦрд┐рдд [OutAttribute] рдФрд░ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ [InAttribute], [OutAttribute]ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░рдгреА рдХреА рд╕рд╛рдордЧреНрд░реА рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рд╣реА рдкрд╛рд░рд┐рдд рдХреА рдЧрдИ рд╣реИ, рдЗрд╕реЗ рдЕрд╡рд╢реНрдп рдкрдврд╝рд╛ рдпрд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рд╕рд░рдгреА рдХреА рд╕рд╛рдордЧреНрд░реА, рдЬрд┐рд╕реЗ [InAttribute] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕реЗ рддрдерд╛рдХрдерд┐рдд рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд░рдгреА рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЙрд▓рд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпрдорд╛рди рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕реА рдкреНрд░рдХрд╛рд░, рдПрдХ рд╕рд░рдгреА рдХреА рд╕рд╛рдордЧреНрд░реА рдЬрд┐рд╕реЗ [рдЖрдЙрдЯрдСрдЯрд╡рд░реНрдЯ] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕реЗ рддрдерд╛рдХрдерд┐рдд рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЙрд▓рд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдореВрд▓ рд╕рд░рдгреА рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрдЧреНрд░рд╣
рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╕рдордп, CLR рд╕рдВрдЧреНрд░рд╣ рд╡рд╕реНрддреБ рдХреЛ
CCW рдЖрд╡рд░рдг рдореЗрдВ рдкреИрдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ WinRT API рдореЗрдВ рд▓рд┐рдВрдХ рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЖрд╡рд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдмрд╛рддрдЪреАрдд рдХреА рд╕реАрдорд╛ рдХреЛ рдкрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рддрддреНрд╡реЛрдВ рдХреА рдирдХрд▓ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реАрдПрд▓рдЖрд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдП рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ WinRT рдФрд░ CLR рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рд╕реЗ рджреВрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЖрдЧреЗ рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рд░рдирдЯрд╛рдЗрдо рдХреА рдЧрд╣рд░реА рд╕рдордЭ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред