是否可以从 .net exe 获取错误级别以外的返回值?该 exe 将从脚本、批处理或 rexx 中调用。
如果没有,您可以从批处理或 rexx 调用程序集中的方法并检索返回值吗?
是否可以从 .net exe 获取错误级别以外的返回值?该 exe 将从脚本、批处理或 rexx 中调用。
如果没有,您可以从批处理或 rexx 调用程序集中的方法并检索返回值吗?
任何 .NET 可执行文件的入口(和出口)点都是main 方法,它必须是使用 avoid
或int
返回类型声明的静态方法。
因此,您不能直接返回除int
.
该int
值是错误级别(按照惯例,0 表示成功)。
您仍然可以在您的程序中写入一个“状态”文件,该文件将允许您编写任何您想要的内容并从中读取。
在 C/C++ 上下文中它取决于 main() 方法的签名。但返回值必须是 int。所以oded的建议值得一试
一种可能的替代解决方案是让您的 .net 方法将一个字符串打印到 stdout,该字符串会重定向到 rxqueue.exe,从而将输出放置在 rexx 可以找到它的位置。然后在您的 rexx 包装器中,等待返回,当它到达时从队列中拉出。
'external.exe | rxqueue'
line. = ''
ndx = 0
do while queued() > 0
ndx = ndx + 1
parse pull line.ndx
end
line.0 = ndx /* this is unnecessary but is a common practice to store the
stem size in leaf 0 */
/* now deal with your results */