рдПрдХ C # рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдирд╛



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

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

рдореИрдВ рд╕рд╛рдЗрдЯ рдХрд╛ рд▓рд┐рдВрдХ рдирд╣реАрдВ рджреВрдВрдЧрд╛, рд╕рд╛рде рд╣реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдереЗ, рддрд╛рдХрд┐ рдкрд╛рдардХ рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рди рдХрд░реЗрдВ, рдЗрд╕ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред

рдореИрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд┐рдХрд╛рд╕ рдХреИрд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ, рдореИрдВ рд╕рд╛рдЗрдЯ рдкрд░ рдЧрдпрд╛, рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рдЧрдпрд╛, рдлрд┐рд░ рдлрд╝рд┐рдбрд▓рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдХрд┐ рдХреНрдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╣рд╛рдБ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдХреНрдпрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдХрд┐рди рд▓рд┐рдВрдХреНрд╕ рдХреЗ рд╕рд╛рдеред рдмрд╣реБрдд рдЬрд▓реНрджреА рдореИрдВрдиреЗ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдпрд╣ рдирд┐рдХрд▓рд╛ рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкреИрд░рд╛рдореАрдЯрд░ рд▓рд┐рдпрд╛ рдерд╛, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдирд╣реАрдВ рдерд╛, рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдпрд╣ рдирд┐рдХрд▓рд╛ рдХрд┐ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдкреНрд░рдореБрдЦ рд╕реНрдерд╛рди рдкрд░ рдХреЙрд▓ рдХрд░рдирд╛ рдХреЗрд╡рд▓ рд╡реНрдпрд╛рдХреБрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдерд╛ред рдзреНрдпрд╛рди рджреЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдРрдб-рдСрди рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрдмреНрдпреВрд╕рд╕реИрдХреНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдРрдб-рдСрди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдпрд╣ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ рдЬрдм рдореИрдВ рдЗрд╕реЗ google.com рдкрд░ рдЦреЛрд▓рддрд╛ рд╣реВрдВ:



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

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

webBrowser1.DocumentText =
"<html><head><script>" +
"function test(message) { alert(message); }" +
"</script></head><body><button " +
"onclick=\"window.external.Test('called from script code')\">" +
"call client code from script code</button>" +
"</body></html>" ;


* This source code was highlighted with Source Code Highlighter .

рддреЛ рдмрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЙрд▓:
webBrowser1.Document.InvokeScript( "test" , new String [] { "called from client code" });

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

рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдоред Dll:

1. рдиреЛрдЯрдкреИрдб рдореЗрдВ рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ, рдХреЗрд╡рд▓ рдЗрд╕ рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде:
class EvalClass { function Evaluate(expression: String) { return eval(expression); } }

2. рдлрд╝рд╛рдЗрд▓ рдХреЛ C: \ MyEval.js рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ
3. рдУрдкрди рд╡реАрдПрд╕ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ (рд╕реНрдЯрд╛рд░реНрдЯ, рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕, рд╡реАрдПрд╕, рд╡реАрдПрд╕ рдЯреВрд▓реНрд╕)
4. C: \ рдХреЗ рдореВрд▓ рдореЗрдВ Cd \ рд▓рд┐рдЦрд╛ рдЬрд╛рдП
5. рд▓рд┐рдЦреЛ
jsc /t:library C:\MyEval.js

6. рдлрд┐рд░ рдПрдХ рдирдИ рдлрд╛рдЗрд▓ MyEval.dll рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред
7. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП MyEval.dll рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ (рдЖрдкрдХреЛ Microsoft.Jscript.dll рдХреЛ рднреА рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред
8. рдлрд┐рд░ рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ:
EvalClass jScriptEvaluator = new EvalClass();
object objResult = jScriptEvaluator.Evaluate(тАЬ1==1 && 2==2тАЭ);

objResult True.


рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХреЗ рд╕рд╛рде рд╣реА рд╕рдм рдХреБрдЫ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХрдХреНрд╖рд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рд░реНрдп рдереЗ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рд╕рдордп рдпрд╣ рдХреЛрдб рдореЗрд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред

рдЬрд┐рдВрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп


рд▓рд╛рдЗрд╕реЗрдВрд╕: MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ (MIT)

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЙрди рд╕рднреА рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреЛрдбрдкреНрд▓реЗрдХреНрд╕ рдореЗрдВ рдкрд╛рд░реНрд╕рд░ рдХреЗ рд╕рд╛рде рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдХреЛрд╖реНрдардХ рдХреЛ "рдЦрд╛ рдЧрдпрд╛", рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╣реА рдХрд░рдХреЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рднреА рдХрд╛рдо рдХрд┐рдпрд╛ред рдлрд┐рд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕реЗрдЯ рдкрд░ рдЗрд╕рдХреЗ рдХрд╛рдо рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореБрдЭреЗ рдореЗрд░реЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд рдореВрд▓реНрдп рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЗрд╕реЗ Google рдиреЗ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рдкрдврд╝рд╛ред рдореИрдВрдиреЗ рдХреБрдЫ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ String.fromCharCode () рдкрд░ рдХрд╛рдмреВ рдирд╣реАрдВ рдкрд╛ рд╕рдХрд╛ред

Jint.JintException: рд╡рд┐рдзрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ: FromCharCode

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд▓рд┐рдЦреЗрдВ:
using Jint;

рддрдм рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдХреЛрдб рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
StreamReader sr = new StreamReader( @"C:\habr_javascript\MyEval.js" );
string script = sr.ReadToEnd();

JintEngine engine = new JintEngine();
engine.Run(script);

object num = engine.Run( "Evaluate(42210607);" );
MessageBox.Show(num.ToString());


* This source code was highlighted with Source Code Highlighter .


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА


рд▓рд╛рдЗрд╕реЗрдВрд╕: рдирдпрд╛ рдмреАрдПрд╕рдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ (рдмреАрдПрд╕рдбреА)

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рддреБрд░рдВрдд рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдФрд░ рдмрд┐рдВрдЧреЛ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдЗрд╕рдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдХрд╛рдо рдХрд┐рдпрд╛ред

рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
using Noesis.Javascript;

рдФрд░ рдПрдХ рдХреЛрдб рд▓рд┐рдЦреЗрдВ рдЬреЛ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИ:
StreamReader sr = new StreamReader( @"C:\habr_javascript\MyEval.js" );
string script = sr.ReadToEnd();

JavascriptContext context = new JavascriptContext();
context.Run(script);

object num = context.Run( "Evaluate(42210607);" );
MessageBox.Show(num.ToString());


* This source code was highlighted with Source Code Highlighter .


рдирд┐рд╖реНрдХрд░реНрд╖


рдореИрдВ рдЬрд┐рдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмреБрд░рд╛ рдирд╣реАрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рднреА рдмрджрддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рдореЗрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 6 рдорд╣реАрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рддреБрд░рдВрдд рд╕рдВрднрд╡ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рд░рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬреИрд╕реЗ рдпрджрд┐ рд╕рд╛рдЗрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рд┐рд░реНрдл рдПрдХ рдЪрд░рд┐рддреНрд░ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЬрд┐рдВрдЯ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╕рдВрд╕рд╛рдзрди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдпрд╣ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдЖрдк рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд┐рдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрдзрд┐рдХ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рд╕рдмрд╕реЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ 14 рдлрд░рд╡рд░реА, 2011 рдХреЛ рд╣реБрдИ рдереА, рдЬрдм 16 рд╕рд┐рддрдВрдмрд░ 2010 рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХреЗрд╡рд▓ рд▓реЗрдЦ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрд╕реА рд╕реНрдЯреИрдХрдУрд╡рд░рдлрд╝реНрд▓реЛ рдкрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП jint рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реЗ рд╡рд╣рд╛рдБ jint рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдерд╛ рдФрд░ рдпрджрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реА # рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

Source: https://habr.com/ru/post/In115021/


All Articles