Как позвонить в C # с JScript.net? - PullRequest
5 голосов
/ 27 февраля 2012

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

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

Ответы [ 2 ]

8 голосов
/ 28 февраля 2012

Вот пример:

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);
    }
};
0 голосов
/ 27 февраля 2012

Вам нужно преобразовать код JScript.NET в C #. Нечто подобное .

...