将 javascript 用于自定义目的 [英] Using javascript for custom purposes

查看:36
本文介绍了将 javascript 用于自定义目的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写一个光线追踪器,作为我完整 3d 引擎的一部分.我计划使用 javascript 作为脚本语言,而不是自己编写.问题是我该如何使用它?顺便说一下,光线追踪器和 UI 是用 C# 编写的.

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 I use it? Btw the raytracer and the UI are written in C#.

推荐答案

这里展示了 Javascript 和 c# 之间的双向交互.

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

  1. Javascript 调用 c# 方法
  2. 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);
    }
}

这篇关于将 javascript 用于自定义目的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆