|
using System;
using System.Threading;
using System.IO;
using System.Text;
using System.Drawing;
using System.CodeDom;
using System.Windows.Forms;
using System.ComponentModel;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using Microsoft.CSharp;
namespace DynamicCodeGeneration.CodeGenerator
{
public partial class UI : Form
{
public UI()
{
InitializeComponent();
}
private void Do_Click(object sender, EventArgs e)
{
try
{
if (this.CSharp.Checked)
{
GenerateAssembly(AssemblyGenerationMode.CSharp);
}
else
{
GenerateAssembly(AssemblyGenerationMode.IL);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void GenerateAssembly(AssemblyGenerationMode mode)
{
IGenerator generator = null;
switch(mode)
{
case AssemblyGenerationMode.CSharp:
generator = new CSharpGenerator();
break;
case AssemblyGenerationMode.IL:
generator = new MSILGenerator();
break;
}
this.AssemblyLocation.Text = generator.GenerateAssembly(this.AssemblyAuthor.Text, this.ClassAuthor.Text, this.MethodAuthor.Text);
this.GeneratedCode.Text = generator.Code;
}
}
enum AssemblyGenerationMode
{
CSharp = 0,
IL = 1
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I work with Proteans Software Solutions. Interests include software architecture, design patterns, agile, scrum development, automated acceptance testing, books, music, travel, movies...