CodeDom use to generate. Document cs
In the use of dynamically generated CodeDom. Cs documents and use help in the case, the code does not actually compiled by ![]()
Their changes through debugging, after finishing the main code as follows:
Namespace:
Using System.CodeDom;
Using System.CodeDom.Compiler;
Using Microsoft.CSharp;
Using System.IO;
? Private void button1_Click (object sender, System.EventArgs e)
— (
?? CodeCompileUnit CompileUnit new CodeCompileUnit = ();
?? CodeNamespace Samples = new CodeNamespace (the "Samples");
?? Samples.Imports.Add (new CodeNamespaceImport ( "System"));
?? CompileUnit.Namespaces.Add (Samples);
?? CodeTypeDeclaration Class1 = new CodeTypeDeclaration ( "Class1");
?? Samples.Types.Add (Class1);
?? CodeEntryPointMethod Start = new CodeEntryPointMethod ();
??
???// Output HelloWord
?? CodeMethodInvokeExpression cs1 = new CodeMethodInvokeExpression (new
?? CodeTypeReferenceExpression ( "System.Console"), "WriteLine" new
?? CodePrimitiveExpression ( "Hello World!"));
??
?? Start.Statements.Add (cs1);
??
?? Class1.Members.Add (Start);
???// CSharpCodeProvider provider = new CSharpCodeProvider ();
???// ICodeGenerator gen = provider.CreateGenerator ();
?? GenerateGraph (CompileUnit);
?)
? Public void GenerateGraph (CodeCompileUnit compileunit)
— (
???// Obtains an ICodeGenerator from a CodeDomProvider class.
?? CSharpCodeProvider provider = new CSharpCodeProvider ();
?? ICodeGenerator gen = provider.CreateGenerator ();
?
???// Creates a StreamWriter to an output file.
?? StreamWriter sw = new StreamWriter ( "d: \ \ TestGraph.cs" false);
???// Generates source code using the code generator.
?? Gen.GenerateCodeFromCompileUnit (compileunit, sw, new?? CodeGeneratorOptions ());
?
???// Closes the output files.
?? Sw.Close ();
?)
? Private void button2_Click (object sender, System.EventArgs e)
— (
?? CompileCode ( "d: \ \ TestGraph.cs");
?)
— / / Edit generated Exe
? Public CompilerResults CompileCode (string filepath)
— (
???// Obtains an ICodeCompiler from a CodeDomProvider class.
?? CSharpCodeProvider provider = new CSharpCodeProvider ();
?? ICodeCompiler compiler = provider.CreateCompiler ();
???// Configures a compiler parameters object which links System.dll and
???// Generates a file name based on the specified source file name.
?? CompilerParameters cp = new CompilerParameters (new string [] ( "System.dll"), filepath.Substring (0, filepath.LastIndexOf (".")+ 1) + "exe", false);
???// Indicates that an executable rather than a. Dll should be generated.
?? Cp.GenerateExecutable = true;
???// Invokes compilation.
?? CompilerResults cr = compiler.CompileAssemblyFromFile (cp, filepath);?
???// Returns the results of compilation.
?? Return cr ;???????
?)
Help in the examples:
. NET Framework-> use. NET Framework Programming -> to dynamically generate and compile the source code languages that
Tags: document








0 Comments to “CodeDom use to generate. Document cs”
No Comments. Send your comment.
Leave a Reply
You must be logged in to post a comment.