VCCodeAttribute Interface

Provides access to an item attribute.

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


<GuidAttribute("B11CD8B8-AD7F-49D4-8B8F-4BE036716F3C")> _
Public Interface VCCodeAttribute
public interface VCCodeAttribute
public interface class VCCodeAttribute
type VCCodeAttribute =  interface end
public interface VCCodeAttribute

The VCCodeAttribute type exposes the following members.


  Name Description
Public property Children Gets a collection of child code elements of the specified attribute.
Public property CodeModel Gets the VCCodeModel object for the project.
Public property Collection Gets the collection containing the code element supporting this attribute.
Public property DisplayName Gets the full name of the attribute.
Public property DTE Gets the top-level extensibility object.
Public property EndPoint Gets the edit 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 Gets 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 the parent object is declared.
Public property FullName Gets the full path and name of the object's file.
Public property Index Gets the position of an attribute in the attribute block.
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 Determines if 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 IsZombie Gets whether the parent object exists.
Public property Kind Gets an enumeration indicating the type of object.
Public property Language Gets 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 Parameters Gets a collection of parameters for this item.
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 StartPoint Gets a TextPoint object that defines the beginning of the code item.
Public property StartPointOf Returns the start point of the parent object.
Public property Value Gets or sets the data for the object.



  Name Description
Public method AddParameter Creates a new parameter code construct and inserts the code in the correct location.
Public method Delete Removes the attribute.
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.
Public method RemoveParameter Removes a parameter from the argument list.



The VCCodeAttribute object represents either a CLR or COM metadata attribute associated with a code element. You can add new parameters to the attribute with the AddParameter method and get and set the value of a code attribute with the VCCodeAttribute object.


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


This example displays the names of all attributes applied to the ATLProjectLib library. It is assumed that the ATLProjectLib library exists.

    Sub GetAttributes()
        Dim vcCM As VCCodeModel
        Dim vcLibrary As VCCodeIDLLibrary
        Dim vcAttribute As VCCodeAttribute
        Dim i As Integer
        vcCM = DTE.Solution.Item(1).CodeModel
        vcLibrary = vcCM.IDLLibraries.Find("ATLProjectLib")
        For i = 1 To vcLibrary.Attributes.Count
            vcAttribute = vcLibrary.Attributes.Item(i)
    End Sub

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

See Also


Microsoft.VisualStudio.VCCodeModel Namespace