Я пытаюсь создать веб-приложение для оценки кода .Net онлайн (например, http://ideone.com/)
Мне удалось скомпилировать код с CodeDomProvider.
Но я не знаю, как передать параметры stdin этой функции.
Если пользователь пишет этот код в текстовой области моего веб-приложения:
using System;
public class Test {
static void Main()
{
String t = "";
while (t != null){
t = Console.ReadLine();
Console.WriteLine(t+"OK");
}
}
}
Я могу скомпилировать его с помощью этого кода
CompilerInfo [] allCompilerInfo = CodeDomProvider.GetAllCompilerInfo ();
//Tell the compiler what language was used
CodeDomProvider CodeProvider = CodeDomProvider.CreateProvider("C#");
//Set up our compiler options...
CompilerParameters CompilerOptions = new CompilerParameters();
var _with1 = CompilerOptions;
_with1.ReferencedAssemblies.Add("System.dll");
_with1.GenerateInMemory = true;
_with1.TreatWarningsAsErrors = true;
//Compile the code that is to be evaluated
CompilerResults Results = CodeProvider.CompileAssemblyFromSource(CompilerOptions, strCode);
Теперь я хотел бы управлять общими параметрами:
Если я передам пример параметра следующим образом:
53
12
09
Я хотел бы получить результат компиляции:
53OK
12OK
09OK
Вы знаете, как это сделать?