C# 如何获得已编译C代码的字符串输出?

C# 如何获得已编译C代码的字符串输出?,c#,C#,我正在使用CSharpCodeProvider类编译c代码 比如代码是 using System; namespace Foo { public class Bar { static void Main(string[] args) { Bar.SayHello(); Console.ReadLine(); } public static void SayHello

我正在使用CSharpCodeProvider类编译c代码

比如代码是

using System;

namespace Foo
{
    public class Bar
    {
        static void Main(string[] args)
        {
            Bar.SayHello();
            Console.ReadLine();
        }

        public static void SayHello()
        {
            Console.WriteLine("Hello World");
        }
    }
}
我想要的是在执行后得到最终的字符串输出,在本例中是Hello World。 返回的CompilerResults对象有一个输出字段,但它联机显示有关编译过程的消息。扩展名为.exe的输出文件也创建得很好,它显示了该字符串

我正在寻找一种从生成的exe文件中提取字符串的方法,或者任何其他方法

编辑:
有没有一种方法可以在不运行该进程并从中提取的情况下获取输出字符串?

这可能是同一个问题,也可能不是同一个问题,请看一看:是要从生成的程序文件中提取数据,还是要运行该程序并获得输出?您说正确生成了.exe。使用和重定向标准输出运行exe是否是合适的答案?如果是这样,我将发布代码:@MudasirSoomro检查如何重定向标准输出您不需要重定向标准错误或标准输入purposes@MudasirSoomro这是一个不真实的要求,因此我认为你的背景是相关的。也许有一个更聪明的方法来实现你的目标: