VCCodeAttribute Interface

Definition

Provides access to an item attribute.

public interface class VCCodeAttribute
Attributes

Examples

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)  
        MsgBox(vcAttribute.DisplayName)  
    Next  
End Sub  

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

Remarks

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.

Note

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

Properties

Children

Gets a collection of child code elements of the specified attribute.

CodeModel

Gets the VCCodeModel object for the project.

Collection

Gets the collection containing the code element supporting this attribute.

DisplayName

Gets the full name of the attribute.

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]

Returns the end point of 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 parent object is declared.

FullName

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

Index

Gets the position of an attribute in the attribute block.

InfoLocation

Gets the capabilities of the code model.

IsCaseSensitive

Gets whether a code element is case-sensitive.

IsCodeType

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

IsInjected

Determines if a code element has been injected by an attribute or macro expansion.

IsReadOnly

Gets whether the file containing the parent object is read-only.

IsZombie

Gets whether the parent object exists.

Kind

Gets an enumeration indicating the type of object.

Language

Gets the programming language used to author the code.

Location[vsCMWhere]

Returns the location of the parent object declaration.

Name

Gets or sets the name of the object.

Parameters

Gets a collection of parameters for this item.

Parent

Gets the immediate parent object of a given object.

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 associated with the given object.

StartPoint

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

StartPointOf[vsCMPart, vsCMWhere]

Returns the start point of the parent object.

Value

Gets or sets the data for the object.

Methods

AddParameter(String, String, Object)

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

Delete()

Removes the attribute.

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.

RemoveParameter(Object)

Removes a parameter from the argument list.

Applies to

Product Versions
Visual Studio SDK 2015, 2017, 2019, 2022