我有一个控制台应用程序 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/