VCCodeBase Interface

An object providing access to the base class list of the parent object.

Namespace:  Microsoft.VisualStudio.VCCodeModel
Assembly:  Microsoft.VisualStudio.VCCodeModel (in Microsoft.VisualStudio.VCCodeModel.dll)

Syntax

'Declaration
<GuidAttribute("1C251A0B-4C48-4DE2-9CF2-5E7601EE01F1")> _
Public Interface VCCodeBase
[GuidAttribute("1C251A0B-4C48-4DE2-9CF2-5E7601EE01F1")]
public interface VCCodeBase
[GuidAttribute(L"1C251A0B-4C48-4DE2-9CF2-5E7601EE01F1")]
public interface class VCCodeBase
[<GuidAttribute("1C251A0B-4C48-4DE2-9CF2-5E7601EE01F1")>]
type VCCodeBase =  interface end
public interface VCCodeBase

The VCCodeBase type exposes the following members.

Properties

  Name Description
Public property Access Sets or gets the access attributes of this item.
Public property Children Gets a collection of objects contained within this code construct.
Public property Class Gets the base class or the actual base class declaration of the parent object.
Public property CodeModel Gets the VCCodeModel for the project.
Public property Collection Gets the collection containing the object supporting this property or contained within this code construct.
Public property Comment Gets or sets the comment associated with the code element.
Public property DeclarationText Gets or sets the declaration of the parent object.
Public property DisplayName Gets the full name of the parent object.
Public property DTE Gets the top-level extensibility object.
Public property EndPoint Gets the text point that is the location of the end of the code item.
Public property EndPointOf Returns the end point of the parent object.
Public property Extender Returns the requested Extender object if it is available for this object.
Public property ExtenderCATID Gets the Extender category ID (CATID) for the object.
Public property ExtenderNames Gets a list of available Extenders for the object.
Public property File Gets the file in which this VCCodeBase is contained.
Public property FullName Gets the full path and name of the object's file.
Public property InfoLocation Gets the capabilities of the code model.
Public property IsCaseSensitive Gets whether a code element is case-sensitive.
Public property IsCodeType Gets a value indicating whether a CodeType object can be obtained from this object.
Public property IsInjected Gets whether a code element has been injected by an attribute or macro expansion.
Public property IsReadOnly Gets whether the file containing the parent object is read-only.
Public property IsVirtual Sets or gets whether the parent object is virtual.
Public property IsZombie Gets whether the VCCodeBase object exists.
Public property Kind Returns an enumeration indicating the type of object.
Public property Language For code model objects, returns the programming language used to author the code.
Public property Location Returns the location of the parent object declaration.
Public property Name Gets or sets the name of the object.
Public property Parent Gets the immediate parent object of a given object.
Public property Picture Gets a picture automation object to be used as an icon in the user interface.
Public property Project Gets the Project associated with the object.
Public property ProjectItem Gets the ProjectItem associated with the given object.
Public property References Not currently implemented.
Public property StartPoint Gets a TextPoint object that defines the beginning of the code item.
Public property StartPointOf Gets the start point of the parent object.

Top

Methods

  Name Description
Public method GetEndPoint Returns a TextPoint object that marks the end of the code element definition.
Public method GetStartPoint Returns a TextPoint object that defines the beginning of the code element definition.
Public method IsSelf Determines if the specified code element is the same as the parent code element.

Top

Remarks

The VCCodeBase object provides access to the code element representing the base class list for the parent object, if it exists. You can use this object to retrieve the base class or classes that exist for the parent object.

Note

This does not represent the actual base class code element. It simply represents the base class names for the parent object.

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

Examples

This example displays the base classes for each class in the current project.

    Sub GetBases()
        Dim vcCM As VCCodeModel
        Dim vcClass As VCCodeClass
        Dim vcBase As VCCodeBase
        Dim i As Integer
        vcCM = DTE.Solution.Item(1).CodeModel
        For Each vcClass In vcCM.Classes
            For i = 1 To vcClass.Bases.Count
                vcBase = vcClass.Bases.Item(1)
                MsgBox(vcClass.Name + " derives from " + vcBase.Name)
            Next
        Next
    End Sub

See Also

Reference

Microsoft.VisualStudio.VCCodeModel Namespace