인터넷에서 찾을 수 있는 C# 호출 방식 중 하나 공개 문자열 GetTimeByJs() { Type obj = Type.GetTypeFromProgID("ScriptControl"); 만약 (obj == null) 반환 null; object ScriptControl = Activator.CreateInstance(obj); OBJ. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" }); 문자열 JS = "함수 Time(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sum }"; OBJ. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js }); OBJ로 반환. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')")). ToString(); }
시험은 괜찮습니다. time(1, 2, '1 + 2')에서 전달되는 매개변수는 (숫자 1, 숫자 2, 문자열 1+2)입니다. 하지만 질문이 있습니다. new object[] { "time(1, 2, '1 + 2')}" }, JS 메서드의 인자가 바이트[]의 타입이라면, 호출할 때 어떻게 작성해야 할까요?
|