This document describes a set of managed Class Library APIs in the System.Reflection.Emit namespace. The APIs allow a compiler or tool to emit metadata and IL and optionally generate a PE file on disk. The primary users of these APIs are script engines and compilers.
The Reflection Emit APIs provide the following services:
The Metadata Emit interfaces described in Metadata Emit/Import – Interface Specification provide an alternative set of unmanaged APIs for defining metadata. The Reflection Emit APIs provide stronger semantic error checking and higher level of abstraction of the metadata than the Metadata Emit interfaces.