C# volání do JS schématu, které najdete na internetu public string GetTimeByJs() { Type obj = Type.GetTypeFromProgID ("ScriptControl"); pokud (obj == null) vraťte null; object ScriptControl = Activator.CreateInstance(obj); Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" }); řetězec js = "funkce time(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sum }"; Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js }); Vraťte se na cíl. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString(); }
Test je v pořádku. časem (1, 2, '1 + 2'), kde parametry předávané do jsou (číslo 1, číslo 2, řetězec 1+2). Ale je tu otázka, nový objekt[] { "time(1, 2, '1 + 2')" }, pokud je argument metody JS typu byte[], jak by měl být zapsán při volání?
|