рдХреНрдпреЛрдВ рд░реЛрдЬрд▓рд┐рди
рдЕрддреАрдд рдореЗрдВ, рд╣рдорд╛рд░реЗ рд╕рдВрдХрд▓рдХ рдиреЗ рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд┐рдпрд╛ - рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдЗрдирдкреБрдЯ рдореЗрдВ рд╕рдмрдорд┐рдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдЕрд╕реЗрдВрдмрд▓реА рдорд┐рд▓рддреА рд╣реИред рд╕рднреА рдЬреНрдЮрд╛рди рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛ рд╕рдВрдХрд▓рдХ рд░реВрдкреЛрдВ рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рджреБрд░реНрдЧрдо рд╣реЛрддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рд╕реЛрдорд╛ рдЕрдкрдиреЗ
рдмреНрд▓реЙрдЧ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рднрд╛рд╖рд╛ рдЯреАрдо рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд░реЛрд╕рд▓рд┐рди рдирд╛рдордХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп C # рдФрд░ VB рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛рдПрдВ рдмрдирд╛рдирд╛ рд╣реИред рд╕реНрд╡рдЪреНрдЫ, рдЖрдзреБрдирд┐рдХ, рдФрд░ рдкреНрд░рдмрдВрдзрдиреАрдп рдХреЛрдб рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реА рдЯреАрдо рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рд╣реЛрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧреА, рддреЗрдЬреА рд╕реЗ рдирд╡рд╛рдЪрд╛рд░ рдХрд░реЗрдЧреА, рдФрд░ рдмреЗрд╣рддрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд╕рд╛рде рддреЗрдЬреА рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧреАред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЖрдкрдХреЗ рд╕рднреА рдЖрдВрддрд░рд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде C # рдФрд░ VB рд╕рдВрдХрд▓рдХ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрд▓рдмреНрдз рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ C # рдФрд░ VB рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдмрд┐рдВрджреБ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ VisualStudio рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рдирдИ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИ - рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдЯреВрд▓ рдФрд░ рднрд╛рд╖рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдирд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХрд┐рд╕реА рдХреЛ рднреА рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд░реНрд╕рд░, рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдЗрдВрдЬрди, рдХреЛрдб рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЕрдХреНрдЯреВрдмрд░ 2011 рд╕реАрдЯреАрдкреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
CTP рдФрд░ рд╕рд╣рд╛рдпрдХ рд╕рд╛рдордЧреНрд░реА рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
http://msdn.com/roslyn ред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдПрдкреАрдЖрдИ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдФрд░ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╕реА # рд╡рд┐рдВрдбреЛ (рдЖрд░рдИрдкреАрдПрд▓, рд░реАрдб-рдПрд╡рд▓-рдкреНрд░рд┐рдВрдЯ-рд▓реВрдк рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдирд╛ рд╣реИред
рдпрд╣ рдкрд╣рд▓рд╛ CTP рдХреЗрд╡рд▓ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд▓рд┐рдП рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 SP1 рдкрд░ CTP рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИред
Visual Studio 2010 SP1 SDK рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдкрд╣рд▓рд╛ рдХрджрдо
рдПрдХ рд╕рдлрд▓ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдХрд╛рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕реНрдерд╛рди рд╕реНрдЯрд╛рд░реНрдЯ рдореЗрдиреВ рдЦреЛрд▓ рд░рд╣рд╛ рд╣реИ -> рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛрдбрдиреЗрдо рд░реЛрдЬрд▓рд┐рди рд╕реАрдЯреАрдкреА -> рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
"рд░реЛрд╕рд▓рд┐рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдУрд╡рд░рд╡реНрдпреВ" рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдПрдкреАрдЖрдИ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ - рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдФрд░ рд╢рдмреНрджрд╛рд░реНрде рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВред рд░реЛрд╕рд▓рд┐рди рдПрдкреАрдЖрдИ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкрд╣рд▓реБрдУрдВ рдореЗрдВ рдЧрд╣рд░реА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЧрд╛рдЗрдб рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВред
CTP рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди, рдПрдкреАрдЖрдИ рдХрдВрдкрд╛рдЗрд▓рд░, рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдЯреВрд▓ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрджрд╛рд╣рд░рдг C # рдФрд░ Visual Basic рдХреЗ рд▓рд┐рдП рд╣реИрдВред рдЖрдк рдЧреЗрдЯрд┐рдВрдЧ рдкреНрд░рд╛рд░рдВрдн рдкреГрд╖реНрда рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдордиреЗ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрдИ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рднреА рдЬреЛрдбрд╝реЗ рд╣реИрдВ:


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

рд░реЛрдЬрд▓рд┐рди рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рдЬреАрдПрд╕реА рдкрд░ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреВрд░реНрдг рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ (рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЬрд╛рдп) рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рднреА рд╕рд░реНрд╡рд┐рд╕реЗрд╕ рдЕрд╕реЗрдВрдмрд▓реА (рдЬрд┐рд╕рдореЗрдВ рдЖрдИрдбреАрдИ рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рд╣реИ) рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред
рд╕реА # рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╡рд┐рдВрдбреЛ

рдЖрдк рд╕реА - рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╡рд┐рдВрдбреЛ рдХреЛ рд╡реНрдпреВ -> рдЕрдиреНрдп рд╡рд┐рдВрдбреЛрдЬ -> рд╕реА # рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╡рд┐рдВрдбреЛ рдХреЗ рд╕рд╛рде рдЗрдирд╡рд╛рдЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╡рд┐рдВрдбреЛ рдирдИ C # рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрд╕рд▓рд┐рди рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛рдлреА рд▓рдЪреАрд▓реА рд╣реИ рдХрд┐ IDE рдЬреИрд╕реЗ рдХрд┐ IntelliSense рдФрд░ рдПрдХ рд╣реА рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдФрд░ рдПрдХ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдПрдХ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рд╡рд┐рдВрдбреЛ рдХреЗрд╡рд▓ C # рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред рд╣рдо рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ VB рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
C # рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди (.csx)
CTP рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрдб C # рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ .csx рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ -> рдирдИ рдлрд╝рд╛рдЗрд▓ (рдпрд╛ рдХрд┐рд╕реА рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдореЗрдВ, рдЬреИрд╕реЗ рдиреЛрдЯрдкреИрдб):


рдЖрдк рдирдП rcsi.exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ% ProgramFiles (x86)% \ Microsoft рдХреЛрдбрдиреЗрдо Roslyn CTP \ Binaries \ rcsi.exe рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдЖрдк рдкрде рдореЗрдВ rcsi.exe рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ rcsi scriptfilename> .csx рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рднреА рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╡рд┐рдВрдбреЛ (рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдпрд╛ рдЧрд░реНрдо рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрдХ рднреА рдирдИ рднрд╛рд╖рд╛ рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ рдХрд┐ .csx рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗрд╡рд▓ рдЙрд╕ рднрд╛рд╖рд╛ рдХреЗ рдЙрд╕ рднрд╛рдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ рдЬреЛ рд░реЛрдЬрд╝рд▓рд┐рди рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд╛рдЧреВ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╡реЙрдХрдереНрд░реВ рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдЦреЗрдВред
рдХреНрд╡рд┐рдХ рд░реЛрд╕рд▓рд┐рди рдПрдкреАрдЖрдИ рдЙрджрд╛рд╣рд░рдг
рдпрд╣ рд░реЛрдЬрд▓рд┐рди рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
Roslyn.Compilers рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ ;
Roslyn.Compilers.CSharp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ ;
...
var text = @ "рд╡рд░реНрдЧ Calc {рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ рд╡рд╕реНрддреБ Eval () {рд╡рд╛рдкрд╕реА 42;}}" ;
var рдЯреНрд░реА = рд╕рд┐рдВрдЯреЗрдХреНрд╕рдЯреНрд░реАред ParseCompilationUnit ( рдкрд╛рда ) ;
var рд╕рдВрдХрд▓рди = рд╕рдВрдХрд▓рдиред рдмрдирд╛рдПрдБ (
"calc.dll" ,
рд╡рд┐рдХрд▓реНрдк : рдирдП рд╕рдВрдХрд▓рди ( рдЕрд╕реЗрдВрдмрд▓реАрдХрд╛рдЗрдВрдб : рдЕрд╕реЗрдВрдмрд▓реАрдХрд╛рдЗрдВрдбред рдбрд╛рдпрдирд╛рдорд┐рдХрд▓реА рд▓рд┐рдХреНрдбрд▓рд┐рдлреНрдЯреНрд╕ ) ,
рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ : рдирдпрд╛ [ ] { рдкреЗрдбрд╝ } ,
рд╕рдВрджрд░реНрдн : рдирдпрд╛ [ ] { рдирдпрд╛ рдЕрд╕реЗрдВрдмрд▓реАрдлрд╛рдЗрд▓ рд░реЗрдлрд░реЗрдВрд╕ ( рдЯрд╛рдЗрдкреЛрдлрд╝ ( рдСрдмреНрдЬреЗрдХреНрдЯ ) ред рдЕрд╕реЗрдВрдмрд▓реА ред рд╕реНрдерд╛рди ) } ) ;
рдЕрд╕реЗрдВрдмрд▓реА compiledAssembly ;
рдЙрдкрдпреЛрдЧ ( var stream = new MemoryStream ( ) )
{
рдПрдорд┐рддреНрд▓реНрддреБрд▓ рд╕рдВрдХрд▓рди - рд╕рдВрдХрд▓рди = рд╕рдВрдХрд▓рдиред рдЙрддреНрд╕рд░реНрдЬрди ( рдзрд╛рд░рд╛ ) ;
compiledAssembly = рд╡рд┐рдзрд╛рдирд╕рднрд╛ред рд▓реЛрдб ( рдзрд╛рд░рд╛ред GetBuffer ( ) ) ;
}
рдЯрд╛рдЗрдк рдХрд░реЗрдВ рдХреИрд▓реНрдХ = рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред GetType ( "Calc" ) ;
MethodInfo eval = calcред рдЧреЗрдЯрдореЗрдереЛрдб ( "рдПрд╡рд▓" ) ;
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЙрддреНрддрд░ = evalред рдЖрд╣реНрд╡рд╛рди ( рдЕрд╢рдХреНрдд , рдЕрд╢рдХреНрдд ) ред ToString ( ) ;
рдЬрд╝реЛрд░ред рдЖрд░ рдИрдХреНрд╡рд╛рд▓ ( "42" , рдЙрддреНрддрд░ ) ;
рдиреЛрдЯ: рдЗрд╕ рд╕реНрддрд░ рдкрд░, рд╡рд░реНрддрдорд╛рди CTP рдореЗрдВ рдХреЗрд╡рд▓ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рддреЗрдЬ рдЧрддрд┐ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди LINQ рдХреНрд╡реЗрд░реАрдЬ, рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕, рдЗрд╡реЗрдВрдЯреНрд╕, рдбрд╛рдпрдирд╛рдорд┐рдХ, рдПрд╕рд┐рдВрдХреНрд╕ рдЬреИрд╕реЗ рдлрдВрдХреНрд╢рди рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВред рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХреА рдЧрдИ рдЪреАрдЬреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк
рд░реЛрд╕рд▓рд┐рди рдордВрдЪреЛрдВ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджреНрдпрдкрд┐ рд╕рднреА рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рдлрд╝реЙрд░реНрдо рдЕрдзрд┐рдХ рдЖрдмрд╛рджреА рд╡рд╛рд▓рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЖрдкрдХреЛ рд╕рд┐рдВрдЯреИрдХреНрд╕, рд╕рд┐рдВрдмрд▓ рдФрд░ рдлреНрд▓реЛ рдФрд░ рд░реАрдЬрди рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдФрд░ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ рд▓рд┐рдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред
рд╣рдо рдЖрдкрдХреЛ рдЗрд╕ рддрдХрдиреАрдХ рдХреЗ рд╢реБрд░реБрдЖрддреА рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реБрдП рдмрд╣реБрдд рдкреНрд░рд╕рдиреНрди рд╣реИрдВ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВред рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдордВрдЪреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
Microsoft рдмрдЧреНрд╕ рдФрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ ред рдЖрдк рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рд╣реИрд╢рдЯреИрдЧ
#RoslynCTP рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред