In the .NET runtime, components are distinguished from classes by the presence of additional metadata and other apparatus that facilitates the use of the component forms packages such as Windows Forms and Web Forms. The BCL provides classes and attributes that support both the creation of components and the creation of tools that consume components. These classes also include the ability to generate and compile C#, JScript, and VB.NET source code.
For more information, see the following namespaces:
System.CodeDOM System.CodeDOM.Compiler System.ComponentModel System.ComponentModel.Design System.ComponentModel.Design.CodeModel