或多或少,我正在动态执行用户代码,我想从控制台捕获Write和Read方法,比如文件或命令行程序。
这是我的代码用于执行带有一个Main的动态程序的样子。
_assembly = compilerResults.CompiledAssembly;
object o = _assembly.CreateInstance(ClassNameString);
MethodInfo mi = _assembly.EntryPoint;
mi.Invoke(o, null);
答案 0 :(得分:1)
程序集不会获得单独的输出。这是每个过程。
您必须听取自己的标准或将流传递到生成的类中。
答案 1 :(得分:1)
您可以在Console.Out和Console.In:
后面设置读写器Console.SetOut(new MyInterceptingTextWriter());
Console.SetIn(new MyInterceptingReader());
// your code here