C# výzva do JS schémy nájdená na internete public string GetTimeByJs() { Type obj = Type.GetTypeFromProgID("ScriptControl"); ak (obj == null) vráť null; object ScriptControl = Activator.CreateInstance(obj); Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" }); reťazec js = "funkcia čas(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sum }"; Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js }); Vráťte cieľ. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString(); }
Test je v poriadku. čas(1, 2, '1 + 2'), kde parametre prenesené do sú (číslo 1, číslo 2, reťazec 1+2). Ale je tu otázka, nový objekt[] { "time(1, 2, '1 + 2')" }, ak je argument JS metódy typu byte[], ako by mal byť zapísaný pri volaní?
|