c# - 从 VBScript 调用控制台应用程序中的函数

标签 c# vbscript console-application

我有一个控制台应用程序 myapp.exe。在应用程序中有一个函数,我们称它为:

public static int AddIntegers(int a, int b)

是否可以使此函数在外部可见以便 VBscript 可以调用它?我是否必须将该函数移动到 DLL 中,或者我是否可以将它留在 EXE 中并使其可见?如果是,怎么办?

最佳答案

理想情况下,您应该制作一个 DLL 并在您需要公开的函数上设置 Com Visible。

using System;
using System.Runtime.InteropServices;
namespace MyDLL
{
   [ComVisible(true)]
   public class Operations
   {
       [ComVisible(true)]
       public int AddIntegers(int a, int b)
       {
           return a + b;
       }
    }
}

编译 DLL 后,您需要使用 regasm.exe 注册它,以便您可以从 VBScript 调用它:

Dim myObj
Set myObj = CreateObject("MyDLL.Operations")
Dim sum
sum = myObj.AddIntegers(3, 5)

此回复基于 CodeProject 帖子 How to call a .NET DLL from a VBScript雷蒙德·麦卡莱 (Raymund Macaalay) 着。我建议您阅读它。

此外,您应该查看其他 stackoverflow 帖子,例如 How to call C# DLL function from VBScript .

关于c# - 从 VBScript 调用控制台应用程序中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9004352/

相关文章:

c# - 将javascript对象反序列化为c#处理程序中的通用列表

c# - MSMQ 不处理大于特定大小的消息

c# - .NET 控制台应用程序 (UTF-8) 中的越南字符

c# - 使用 Visual Studio 2013 在 C# 中创建 asmx Web 服务

c# - int 的反向二进制表示(仅有效位)

VBScript/w AppActivate 用于应用程序的多个实例

javascript - VBScript 匿名关联数组? (就像 JavaScript 中一样)

javascript - 使用 vbscript 获取页面访问时的屏幕宽度

c# - 如何阻止 C# 控制台应用程序自动关闭?

c# - UnityContainer 性能测试结果