We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

CodeModel Interface

Allows access to programmatic constructs in a source code file.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

public interface CodeModel

The CodeModel object provides code model functionality to languages at the project level, but some members of this object are not supported in every language in Visual Studio.

The primary functions of the CodeModel object are to enable users to find any code element accessible within a project given a fully qualified name, and to determine the programming language in which the project is written.


The values of code model elements such as classes, structs, functions, attributes, delegates, and so forth can be non-deterministic after making certain kinds of edits, meaning that their values cannot be relied upon to always remain the same. For more information, see the section Code Model Element Values Can Change in Discovering Code by Using the Code Model (Visual Basic).