Et C#-kall til JS-skjema funnet på Internett offentlig streng GetTimeByJs() { Type obj = Type.GetTypeFromProgID("ScriptControl"); hvis (obj == null) returnerer null; object ScriptControl = Activator.CreateInstance(obj); Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" }); streng js = "funksjonstid(a, b, msg){ var sum = a + b; returner ny Date().getTime() + ': ' + msg + ' = ' + sum }"; Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js }); Returner Obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString(); }
Testen er grei. tid(1, 2, '1 + 2'), hvor parameterne som sendes inn er (nummer 1, nummer 2, streng 1+2). Men det er et spørsmål, nytt objekt[] { "time(1, 2, '1 + 2')" }, hvis argumentet i JS-metoden er av typen byte[], hvordan skal det skrives når man kaller?
|