Как позвонить в 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#. Как то так