Как позвонить в C# с JScript.net?

Я читал, что для новейшей Java Javascript на Java может легко вызывать или импортировать Java-пакеты. В новейшем.NET может ли JScript.net легко вызывать функции C#?

За подробностями я спрашиваю не о скомпилированном коде JScript.net, а о некомпилированном строковом коде JScript.net, который запускается на обработчике сценариев.

2 ответа

Решение

Вот пример:

1) CS файл с простыми вызовами и методом, который возвращает строку. 2) JS-файл, который вызывает метод CS с использованием eval.

// cstest.cs - скомпилировать как библиотеку

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

// test.js - скомпилировать как exe // добавить ссылку на cstest.dll // командная строка скомпилировать 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);
    }
};

Что вам нужно, это конвертировать ваш код JScript.NET в C#. Как то так

Другие вопросы по тегам