【问题标题】:How to call C# from JScript.net?如何从 JScript.net 调用 C#?
【发布时间】:2012-02-27 19:52:02
【问题描述】:

我了解到,对于最新的 Java,Java 上的 Javascript 可以轻松调用或导入 java 包。在最新的 .NET 中,JScript.net 可以轻松调用 C# 函数吗?

关于细节,我问的不是编译的 JScript.net 代码,而是运行在脚本引擎上的非编译的 JScript.net 字符串代码。

【问题讨论】:

  • 这是 Javascript 还是 JScript ?这是用 Asp.net 吗?
  • 你是否试图从javascript调用c#函数
  • 您是否尝试这样做 new JScriptCodeProvider().CreateCompiler();如此处所述:odetocode.com/code/80.aspx
  • @COLDTOLD 是的,因为我不喜欢再用javascript写类似的函数了。

标签: c# jscript.net


【解决方案1】:

这是一个例子:

1) 带有简单调用和返回字符串的方法的 CS 文件。 2)使用eval调用CS方法的js文件。

// 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);
    }
};

【讨论】:

    【解决方案2】:

    您需要将 JScript.NET 代码转换为 C#。某事like this

    【讨论】:

    • Visual Studio 2010 中有一个新版本的 JScript.NET:msdn.microsoft.com/en-us/library/xkx7dfw1.aspx。我猜有一种方法可以从 JScript.NET 调用 C# 代码,前提是您将 C# 代码编译成 .NET DLL 并从 JScript.NET 引用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    相关资源
    最近更新 更多