CodeModel Interface

Definition

Allows access to programmatic constructs in a source code file.

[System.Runtime.InteropServices.Guid("0CFBC2B4-0D4E-11D3-8997-00C04F688DDE")]
[System.Runtime.InteropServices.TypeLibType(4160)]
public interface CodeModel
Derived
Attributes

Remarks

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.

Note

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).

Properties

CodeElements

Gets a collection of CodeElements.

DTE

Gets the top-level extensibility object.

IsCaseSensitive

Gets whether the current language is case-sensitive.

Language

Gets the programming language used to author the code.

Parent

Gets the immediate parent object of a CodeModel object.

Methods

AddAttribute(String, Object, String, Object)

Creates a new attribute code construct and inserts the code in the correct location.

AddClass(String, Object, Object, Object, Object, vsCMAccess)

Creates a new class code construct and inserts the code in the correct location.

AddDelegate(String, Object, Object, Object, vsCMAccess)

Creates a new delegate code construct and inserts the code in the correct location.

AddEnum(String, Object, Object, Object, vsCMAccess)

Creates a new enumeration code construct and inserts the code in the correct location.

AddFunction(String, Object, vsCMFunction, Object, Object, vsCMAccess)

Creates a new function code construct and inserts the code in the correct location.

AddInterface(String, Object, Object, Object, vsCMAccess)

Creates a new interface code construct and inserts the code in the correct location.

AddNamespace(String, Object, Object)

Creates a new namespace code construct and inserts the code in the correct location.

AddStruct(String, Object, Object, Object, Object, vsCMAccess)

Creates a new structure code construct and inserts the code in the correct location.

AddVariable(String, Object, Object, Object, vsCMAccess)

Creates a new variable code construct and inserts the code in the correct location.

CodeTypeFromFullName(String)

Returns a code element based on a fully qualified name.

CreateCodeTypeRef(Object)

Returns a CodeTypeRef object based on the data type indicator passed.

IsValidID(String)

Returns whether a specified name is a valid programmatic identifier for the current language.

Remove(Object)

Removes the specified code element from the source file.

Applies to