Skema panggilan C# ke JS ditemukan di Internet string publik GetTimeByJs() { Ketik obj = Type.GetTypeFromProgID("ScriptControl"); if (obj == null) mengembalikan null; objek ScriptControl = Activator.CreateInstance(obj); obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" }); string js = "waktu fungsi(a, b, msg){ var sum = a + b; mengembalikan Date().getTime() baru + ': ' + msg + ' = ' + jumlah }"; obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js }); Kembali obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString(); }
Ujiannya baik-baik saja. time(1, 2, '1 + 2'), di mana parameter yang diteruskan adalah (nomor 1, nomor 2, string 1+2). Tapi ada pertanyaan, objek baru[] { "time(1, 2, '1 + 2')" }, jika argumen metode JS berjenis byte[], bagaimana seharusnya ditulis saat memanggil?
|