CodeElement Interface

Represents a code element or construct in a source file.

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

public interface CodeElement

The CodeElement type exposes the following members.

Public propertyChildrenReturns a collection of objects contained within this CodeElement.
Public propertyCollectionGets the CodeElements collection containing the CodeElement that supports this property.
Public propertyDTEGets the top-level extensibility object.
Public propertyEndPointGets the text point that is the location of the end of the code item.
Public propertyExtenderGets the requested Extender if it is available for this CodeElement object.
Public propertyExtenderCATIDGets the Extender category ID (CATID) for the object.
Public propertyExtenderNamesGets a list of available Extenders for the object.
Public propertyFullNameGets a fully-qualified name of the specified code element.
Public propertyInfoLocationGets the capabilities of the code model.
Public propertyIsCodeTypeIndicates whether or not a CodeType object can be obtained from the CodeElement object.
Public propertyKindGets an enumeration that defines the type of object.
Public propertyLanguageGets the programming language that is used to author the code.
Public propertyNameSets or gets the name of the object.
Public propertyProjectItemGets the ProjectItem object associated with the CodeElement object.
Public propertyStartPointGets a TextPoint object that defines the beginning of the code item.

Public methodGetEndPointReturns a TextPoint object that marks the end of the code element definition.
Public methodGetStartPointReturns a TextPoint object that marks the beginning of the code element definition.

A code element can be any fragment of code, but generally, there is a CodeElement object for each definition or declarative syntax in a language. This means that for most top-level definitions or declarations in a file, or for any syntactic form in a class definition, and so forth, there is a corresponding CodeElement object.


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