Using javascript for custom purposes

后端 未结 3 1662
温柔的废话
温柔的废话 2020-11-29 12:55

I am writing a raytracer as a part of my complete 3d engine. I am planning on using javascript for the scripting language instead of writing my own. The question is how can

3条回答
  •  独厮守ぢ
    2020-11-29 13:30

    This shows the two-way interaction between Javascript and c#.

    1. Javascript calls a c# method
    2. C# gets the result of an expression in 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);
        }
    }
    

提交回复
热议问题