The System.CodeDom namespace contains classes that can be used to represent the elements and structure of a source code document. These elements may be used to model the structure of a source code document that may be output as source code in a supported language using the functionality provided by the System.CodeDom.Compiler namespace.
For more information about using the CodeDOM to represent and generate source code, see the conceptual topic at MSDN: Generating and Compiling Source Code Dynamically in Multiple Languages.
For a table that lists the CodeDOM elements by type and function, see the the conceptual topic at MSDN: CodeDOM Quick Reference.
| Class | Description | 
|---|---|
| class CodeArgumentReferenceExpression | Represents a reference to an argument. | 
| class CodeArrayCreateExpression | Represents an expression that creates an array. | 
| class CodeArrayIndexerExpression | Represents an expression that indicates an array and a specific index or indices. | 
| class CodeAssignStatement | Represents a simple assignment statement. | 
| class CodeAttachEventStatement | Represents a statement that attaches an event handler. | 
| class CodeAttributeArgument | Represents an argument used in a metadata custom attribute declaration. | 
| class CodeAttributeArgumentCollection | Represents a collection of CodeAttributeArgument objects. | 
| class CodeAttributeDeclaration | Represents an attribute declaration. | 
| class CodeAttributeDeclarationCollection | Represents a collection of CodeAttributeDeclaration objects. | 
| class CodeBaseReferenceExpression | Represents a reference to the base class. | 
| class CodeBinaryOperatorExpression | Represents an expression that consists of a binary operation between two expressions. | 
| class CodeCastExpression | Represents an expression that is to be cast to a data type or interface. | 
| class CodeCatchClause | Represents a catch exception block. | 
| class CodeCatchClauseCollection | Represents a collection of CodeCatchClause objects. | 
| class CodeComment | Represents a comment. | 
| class CodeCommentStatement | Represents a statement consisting of a single comment. | 
| class CodeCommentStatementCollection | Represents a collection of CodeCommentStatement objects. | 
| class CodeCompileUnit | Provides a top-level object to use for compilation. | 
| class CodeConditionStatement | Represents a conditional branch statement, typically represented as an statement. | 
| class CodeConstructor | Represents the declaration of an instance constructor for a type. | 
| class CodeDelegateCreateExpression | Represents an expression that creates a delegate. | 
| class CodeDelegateInvokeExpression | Represents an expression that invokes a delegate. | 
| class CodeDirectionExpression | Represents an expression that indicates the direction type of the reference. | 
| class CodeEntryPointMethod | Represents the entry point of an executable. | 
| class CodeEventReferenceExpression | Represents an expression that references an event. | 
| class CodeExpression | Represents a code expression. This is a base class for other code expression objects that is never instantiated. | 
| class CodeExpressionCollection | Represents a collection of CodeExpression objects. | 
| class CodeExpressionStatement | Represents a statement that consists of a single expression. | 
| class CodeFieldReferenceExpression | Represents a reference to a field. | 
| class CodeGotoStatement | Represents a statement. | 
| class CodeIndexerExpression | Represents a reference to an indexer property of an object. | 
| class CodeIterationStatement | Represents a for statement, or a simple loop through a block of statements, using a test expression as a condition for continuing to loop. | 
| class CodeLabeledStatement | Represents a labeled statement or a stand-alone label. | 
| class CodeLinePragma | Represents a specific location within a specific file. | 
| class CodeMemberEvent | Represents an event member of a class. | 
| class CodeMemberField | Represents a field class member declaration. | 
| class CodeMemberMethod | Represents a declaration for a method of a class. | 
| class CodeMemberProperty | Represents a declaration for a property of a class. | 
| class CodeMethodInvokeExpression | Represents an expression that invokes a method. | 
| class CodeMethodReferenceExpression | Represents an expression that references a method on a specific object. | 
| class CodeMethodReturnStatement | Represents a return statement. | 
| class CodeNamespace | Represents a namespace declaration. | 
| class CodeNamespaceCollection | Represents a collection of CodeNamespace objects. | 
| class CodeNamespaceImport | Represents a namespace import directive that indicates a namespace to use. | 
| class CodeNamespaceImportCollection | Represents a collection of CodeNamespaceImport objects. | 
| class CodeObject | Provides a common base class for most Code Document Object Model (CodeDOM) objects. | 
| class CodeObjectCreateExpression | Represents an expression that creates a new instance of an object. | 
| class CodeParameterDeclarationExpression | Represents a parameter declaration for a method, property, or constructor. | 
| class CodeParameterDeclarationExpressionCollection | Represents a collection of CodeParameterDeclarationExpression objects. | 
| class CodePrimitiveExpression | Represents a primitive data type value. | 
| class CodePropertyReferenceExpression | Represents a reference to a property. | 
| class CodePropertySetValueReferenceExpression | Represents an expression that represents the value argument of a property set method call within a property set method declaration. | 
| class CodeRemoveEventStatement | Represents a statement that removes an event handler. | 
| class CodeSnippetCompileUnit | Represents a literal code fragment that can be compiled. | 
| class CodeSnippetExpression | Represents a literal expression. | 
| class CodeSnippetStatement | Represents a statement using a literal code fragment. | 
| class CodeSnippetTypeMember | Represents a member of a class using a literal code fragment. | 
| class CodeStatement | Represents a statement. This is a base class for other code statement objects that is never instantiated. | 
| class CodeStatementCollection | Represents a collection of CodeStatement objects. | 
| class CodeThisReferenceExpression | Represents a reference to the current local class instance. | 
| class CodeThrowExceptionStatement | Represents a statement that throws an exception. | 
| class CodeTryCatchFinallyStatement | Represents a try block, with any number of catch clauses and optionally, a finally block. | 
| class CodeTypeConstructor | Represents a static constructor for a class. | 
| class CodeTypeDeclaration | Represents a type declaration for a class, structure, interface or enumeration. | 
| class CodeTypeDeclarationCollection | Represents a collection of CodeTypeDeclaration objects. | 
| class CodeTypeDelegate | Represents a delegate declaration. | 
| class CodeTypeMember | Represents the declaration for a member of a type. Type members include fields, methods, properties, constructors and nested types. | 
| class CodeTypeMemberCollection | Represents a collection of CodeTypeMember objects. | 
| class CodeTypeOfExpression | Represents a expression, an expression that returns a specified runtime type. | 
| class CodeTypeReference | Represents a data type to CodeDOM objects. | 
| class CodeTypeReferenceCollection | Represents a collection of CodeTypeReference objects. | 
| class CodeTypeReferenceExpression | Represents a reference to a data type. | 
| class CodeVariableDeclarationStatement | Represents a declaration of a variable. | 
| class CodeVariableReferenceExpression | Represents an expression that references a local variable. | 
| Enumeration | Description | 
|---|---|
| enumeration CodeBinaryOperatorType | Specifies identifiers for supported binary operators. | 
| enumeration FieldDirection | Specifies identifiers used to indicate the direction of parameter and argument declarations. | 
| enumeration MemberAttributes | Specifies member attribute identifiers for class members. |