VCCodeClass Interface

Definition

An object providing access to any class element collected in a VCCodeModel object.

[System.Runtime.InteropServices.Guid("2AC93578-8330-4AA5-AEB5-33811D47255F")]
[System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDual | System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable)]
public interface VCCodeClass
Attributes

Examples

Sub GetClass()  
    Dim vcCM as VCCodeModel  
    Dim vcClass as VCCodeClass  
    vcCM = DTE.Solution.Item(1).CodeModel  
    vcClass = vcCM.Classes.Find("CAboutDlg")  
End Sub  

Remarks

The VCCodeClass object provides code model functionality to existing Visual C++ IDE solutions at the class level. Primarily, this object is used to modify any class element accessible within a project.

Note

A large part of the functionality of this object is provided by the Visual Studio CodeClass object. For more information, see CodeClass object.

See How to: Compile Example Code for Visual C++ Code Model Extensibility for information on how to compile and run this sample.

Properties

Access

Sets or gets the access attributes of this item.

Attributes

Gets a collection of all of the attributes for the parent object.

Bases

Gets a collection of classes from which this item derives.

BodyText

Gets or sets the body text of the parent object.

Children

Gets a collection of objects contained within this code construct.

Classes

Gets a collection of classes for the parent object.

CodeModel

Gets the VCCodeModel object for the project.

Collection

Gets the collection containing the object supporting this property or contained within this code construct.

Comment

Gets or sets the comment associated with the VCCodeClass.

DataTypeKind
DeclarationText

Gets or sets the declaration of the parent object.

DerivedTypes

Gets a collection of objects derived from this object.

DisplayName

Gets the full name of the parent object.

DocComment

Gets or sets the document comment for the current code model element.

DTE

Gets the top-level extensibility object.

EndPoint

Gets the edit point that is the location of the end of the code item.

EndPointOf[vsCMPart, vsCMWhere]

Gets the end point of the parent object.

Enums

Gets a collection of enumerations for the parent object.

Events

Gets a collection of events for the parent object.

Extender[String]

Gets the requested Extender object if it is available for this object.

ExtenderCATID

Gets the Extender category ID (CATID) for the object.

ExtenderNames

Gets a list of available Extenders for the object.

File

Gets the file in which the VCCodeClass is declared.

FullName

Gets the full path and name of the object's file.

Functions

Gets a collection of functions for the parent object.

ImplementedInterfaces

Gets a collection of interfaces implemented by this object.

InfoLocation

Gets the capabilities of the code model.

IsAbstract

Gets or sets a value indicating whether or not an item is declared as abstract.

IsCaseSensitive

Gets a value indicating whether a code element is case-sensitive.

IsCodeType

Gets a value indicating whether a CodeType object can be obtained from this object.

IsDerivedFrom[String]

Gets a value indicating whether an object has another object as a base.

IsFinal
IsInjected

Gets a value indicating whether a code element has been injected by an attribute or macro expansion.

IsManaged

Gets or sets a value indicating whether the VCCodeClass object is managed.

IsReadOnly

Gets a value indicating whether the file containing the VCCodeClass object is read-only.

IsSealed

Gets or sets a value indicating whether the __sealed keyword is applied to the parent object.

IsTemplate

Gets a value indicating whether the VCCodeClass object is a template.

IsValue

Gets or sets a value indicating whether the __value keyword is applied to the VCCodeClass object.

IsZombie

Gets a value indicating whether the VCCodeClass object exists.

Kind

Gets an enumeration indicating the type of object.

Language

Gets the programming language used to author the code.

Location[vsCMWhere]

Gets the location of the VCCodeClass object declaration.

Maps

Gets the collection of maps for the VCCodeClass object.

Members

Gets a collection of items contained by this element.

Name

Gets or sets the name of the object.

Namespace

Gets an object defining the parent namespace.

Parent

Gets the immediate parent object of a given object.

Parts
Picture

Gets a picture automation object to be used as an icon in the user interface.

Project

Gets the Project associated with the object.

ProjectItem

Gets the ProjectItem object associated with the given object.

Properties

Gets the collection of properties for the parent object.

References

Not currently implemented.

StartPoint

Gets a TextPoint object that defines the beginning of the code item.

StartPointOf[vsCMPart, vsCMWhere]

Returns the start point of the parent object.

Structs

Gets the collection of structure elements for the VCCodeClass object.

TemplateParameters

Gets a collection of parameters contained in a class template.

Templatizations

Microsoft Internal Use Only.

Typedefs

Gets the collection of VCCodeTypedef elements for the parent object.

Unions

Gets the collection of VCCodeUnion elements for the VCCodeClass object.

UsingAliases
Variables

Gets the collection of variables for the VCCodeClass object.

Methods

AddAttribute(String, String, Object)

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

AddBase(Object, Object)

Adds an item to the list of inherited objects.

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

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

AddDelegate(String, Object, Object, vsCMAccess)

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

AddEnum(String, Object, Object, vsCMAccess)

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

AddEvent(String, Object, Object, vsCMAccess)

Microsoft Internal Use Only.

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

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

AddImplementedInterface(Object, Object)

Adds an interface to the list of inherited objects.

AddMap(String, String, Object, Object)

Adds a map entry to the parent object.

AddProperty(String, String, Object, Object, vsCMAccess, Object)

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

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

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

AddTemplateParameter(String, Object, Object)

Adds a parameter to a template definition.

AddTypedef(String, Object, Object, vsCMAccess)

Adds a Typedef statement to the parent object.

AddUnion(String, Object, vsCMAccess)

Adds a union statement to the parent object.

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

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

GetEndPoint(vsCMPart)

Returns a TextPoint object that marks the end of the code element definition.

GetStartPoint(vsCMPart)

Returns a TextPoint object that defines the beginning of the code element definition.

IsSelf(Object)

Determines if the specified code element is the same as the parent code element.

RemoveBase(Object)

Removes an object from the list of bases.

RemoveInterface(Object)

Removes an interface from the list of implemented interfaces.

RemoveMember(Object)

Removes a member code construct.

RemoveTemplateParameter(Object)

Removes a parameter from a template definition.

ValidateMember(String, vsCMElement, String)

Validates that the proposed name is a valid C++ name for the kind given in the context of the parent object.

ValidateMemberName(String, vsCMElement, vcCMNameValidationOption)

Applies to