我正在尝试将脚本功能实现到我的应用程序中。我正在使用下面的代码。每当我实例化一个新的Api对象时,应用程序都应该退出(小测试:p)
但是,应用程序在script.AddObject(...)上崩溃,并显示错误Specified cast is not valid.。这里是否遗漏了什么步骤?
public class ApiExposed
{
public string ModuleName;
public void Exit()
{
System.Environment.Exit(0);
}
}
public class Api
{
ScriptControlClass script;
ApiExposed ApiObj;
public Api()
{
ApiObj = new ApiExposed();
script = new ScriptControlClass();
script.Language = "VBScript";
script.AddObject("tbapi", (object)ApiObj, true);
script.Eval("tbapi.Exit()");
}
}发布于 2009-06-13 09:09:47
我的猜测是,ApiExposed类在COM中是不可见的--为了让VBScript与它交互,它必须是可见的。
发布于 2012-04-23 18:12:43
我也遇到过类似的问题。
确保在类和方法上使用[ComVisible(true)]。另外,让你的类成为公共类!
https://stackoverflow.com/questions/990339
复制相似问题