Internete rasta C# iškvietimo į JS schema viešoji eilutė GetTimeByJs() { Tipas obj = Type.GetTypeFromProgID("ScriptControl"); if (obj == null) grąžina null; objektas ScriptControl = Activator.CreateInstance(obj); Tikslas. InvokeMember("Kalba", BindingFlags.SetProperty, null, ScriptControl, naujas objektas[] { "JavaScript" }); string js = "function time(a, b, msg){ var sum = a + b; grąžinti naują Date().getTime() + ': ' + msg + ' = ' + suma }"; Tikslas. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, naujas objektas[] { js }); grįžti obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString(); }
Testas yra geras. time(1, 2, '1 + 2'), kur perduodami parametrai yra (skaičius 1, skaičius 2, eilutė 1+2). Bet yra klausimas, naujas objektas[] { "time(1, 2, '1 + 2')" }, jei JS metodo argumentas yra baito tipo[], kaip jis turėtų būti rašomas skambinant?
|