How to call C# from JScript.net?

拥有回忆 提交于 2019-12-05 01:24:30

问题


I read that, for the newest Java, Javascript on Java can call or import java packages easily. In the newest .NET, can JScript.net call C# functions easily?

For details, I am asking not about compiled JScript.net code, but about non-compiled JScript.net string code which is run on the script engine.


回答1:


Here is an example:

1) CS file with a simple calls and method that returns a string. 2) js file that calls the CS method using eval.

// cstest.cs - compile as library

using System;
namespace MyNamespace
{
    public class Foo
    {
        public string Bar()
        {
            return "Hello JS";
        }
    }
}

// test.js - compile as exe // add a reference to cstest.dll // command line compile jsc /t:exe /r:cstest.dll test.js

import MyNamespace;

var o : JSApp = new JSApp();
o.DoEval();

class JSApp
{
    function DoEval()
    {
        var f : Foo;
        var s : String
       eval("f = new Foo;");
       eval("s = f.Bar();"); // call Foo.Bar
       print(s);
    }
};



回答2:


What you need to to is to convert your JScript.NET code to C#. Something like this.



来源:https://stackoverflow.com/questions/9471332/how-to-call-c-sharp-from-jscript-net

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!