我正在写一个光线跟踪器作为我的完整3D引擎的一部分.我打算使用
javascript作为脚本语言而不是编写自己的脚本语言.问题是我该如何使用它?顺便说一下,光线跟踪器和UI是用C#编写的.
解决方法
这显示了
Javascript和c#之间的双向交互.
> Javascript调用c#方法
> C#在Javascript中获取表达式的结果
–
Type scriptType = Type.GetTypeFromCLSID(Guid.Parse("0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC")); dynamic obj = Activator.CreateInstance(scriptType,false); obj.Language = "javascript"; obj.Addobject("MyClass",new JSAccessibleClass()); obj.Eval("MyClass.MsgBox('Hello World')"); //<--1 var result = obj.Eval("3+5"); //<--2 [ComVisible(true)] public class JSAccessibleClass { public void MsgBox(string s) { MessageBox.Show(s); } }