0

.net exeからエラーレベル以外の戻り値を取得することはできますか? exe は、スクリプト、バッチ、または rexx から呼び出されます。

そうでない場合、バッチまたは rexx からアセンブリ内のメソッドを呼び出して、戻り値を取得できますか?

4

3 に答える 3

5

.NET 実行可能ファイルの入口 (および出口) ポイントはメイン メソッドvoidであり、これはまたは戻り値の型で宣言された静的メソッドである必要がありますint

このため、 以外のものを直接返すことはできませんint

このint値はエラー レベルです (慣例により、0 は成功を意味します)。

プログラムで「ステータス」ファイルに書き込むことができます。これにより、必要なものを書き込んで読み取ることができます。

于 2010-03-10T13:03:07.450 に答える
1

別の解決策として、.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 */
于 2012-06-08T12:46:49.610 に答える
1

C/C++ コンテキストでは main() メソッドのシグネチャに依存します。ただし、戻り値が int であることは必須です。だからodedの提案は試してみる価値がある

于 2010-03-10T13:01:16.583 に答える