Вывод результата динамической компиляции кода - C#
Формулировка задачи:
Здравствуйте!
Имеется метод динамической компиляции кода из TextBox1.
компиляция происходит удачно при отсутствии ошибок. Но как получить результат компиляции кода в строку либо TextBox2? Спасибо
Листинг программы
- private void button1_Click_1(object sender, EventArgs e)
- {
- CodeDomProvider codeProvider = CodeDomProvider.CreateProvider("CSharp");
- string Output = "Out.exe";
- Button ButtonObject = (Button)sender;
- string m = Convert.ToString(textBox1.Text);
- textBox2.Text = "";
- System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
- //Make sure we generate an EXE, not a DLL
- parameters.GenerateExecutable = true;
- parameters.OutputAssembly = Output;
- CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, textBox1.Text);
- if (results.Errors.Count > 0)
- {
- textBox2.ForeColor = Color.Red;
- foreach (CompilerError CompErr in results.Errors)
- {
- textBox2.Text = textBox2.Text +
- "Line number " + CompErr.Line +
- ", Error Number: " + CompErr.ErrorNumber +
- ", '" + CompErr.ErrorText + ";" +
- Environment.NewLine + Environment.NewLine;
- }
- }
- else
- {
- //Successful Compile
- textBox2.ForeColor = Color.Blue;
- textBox2.Text = "Sucsess!";
- //If we clicked run then launch our EXE
- if (ButtonObject.Text == "Run") Process.Start(Output);
- }
- }
Решение задачи: «Вывод результата динамической компиляции кода»
textual
Листинг программы
- using System;
- namespace HelloWorld
- {
- class Hello
- {
- static void Main()
- {
- Console.WriteLine("Hello World!");
- // Keep the console window open in debug mode.
- Console.WriteLine("Press any key to exit.");
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д