İnternette bulunan bir C# çağrı JS şeması public string GetTimeByJs() { Type obj = Type.GetTypeFromProgID("ScriptControl"); eğer (obj == null) null döndürür; object ScriptControl = Activator.CreateInstance(obj); Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" }); js dizisi = "fonksiyon zamanı(a, b, msg){ var toplam = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sum }"; Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js }); Return Obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString(); }
Test sorun değil. time(1, 2, '1 + 2'), burada geçen parametreler (sayı 1, sayı 2, dizi 1+2) olarak değişir. Ama bir soru var, new object[] { "time(1, 2, '1 + 2')" }, JS metodunun argümanı byte tipindeyse, çağrı sırasında nasıl yazılmalıdır?
|