MSDN

MSDN Documentation

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);
        }
    }
}

See Also