CodeDomProvider Class
Namespace: System.CodeDom.Compiler
Assembly: System
Provides a base class for implementing code generation and compilation support for specific programming languages.
Inheritance
System.Object → System.CodeDom.Compiler.CodeDomProvider
Syntax
public abstract class CodeDomProvider : IDisposable
Members
Methods
public abstract CompilerResults CompileAssemblyFromSource(CompilerParameters options, string source)public abstract CompilerResults CompileAssemblyFromFile(CompilerParameters options, params string[] fileNames)public abstract void GenerateCodeFromCompileUnit(CodeCompileUnit compileUnit, TextWriter writer, CodeGeneratorOptions options)public abstract string CreateEscapedIdentifier(string identifier)public abstract bool IsValidIdentifier(string identifier)public abstract string GetTypeOutput(CodeTypeReference type)
Properties
public abstract string FileExtension { get; }public abstract string LanguageOptions { get; }
Events
None.
Examples
// Compile a simple C# program at runtime
using System;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
class Program
{
static void Main()
{
string source = @"
using System;
public class Hello
{
public static void Main()
{
Console.WriteLine(\"Hello, World!\");
}
}";
using (var provider = new CSharpCodeProvider())
{
var parameters = new CompilerParameters
{
GenerateExecutable = true,
OutputAssembly = \"Hello.exe\"
};
CompilerResults results = provider.CompileAssemblyFromSource(parameters, source);
if (results.Errors.Count == 0)
Console.WriteLine(\"Compilation succeeded.\");
else
foreach (CompilerError err in results.Errors)
Console.WriteLine(err);
}
}
}