C# klic na JS shemo, ki jo najdemo na internetu javni niz GetTimeByJs() { Type obj = Type.GetTypeFromProgID ("ScriptControl"); če (obj == null) vrni null; object ScriptControl = Activator.CreateInstance(obj); Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" }); niz js = "funkcija čas(a, b, msg){ var sum = a + b; vrni nov Date().getTime() + ': ' + msg + ' = ' + vsota }"; Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js }); Vrni se cilj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString(); }
Test je v redu. čas(1, 2, '1 + 2'), kjer so parametri, ki jih prenesemo v (številka 1, številka 2, niz 1+2). Vendar pa obstaja vprašanje, nov objekt[] { "time(1, 2, '1 + 2')" }, če je argument JS metode tipa bajt[], kako naj ga zapišemo ob klicu?
|