CodeAttributeArgument.Kind Property
Gets an enumeration value that defines the type of code element.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
ReadOnly Property Kind As vsCMElement
vsCMElement Kind { get; }
property vsCMElement Kind {
vsCMElement get ();
}
abstract Kind : vsCMElement with get
function get Kind () : vsCMElement
Property Value
Type: EnvDTE.vsCMElement
A vsCMElement value.
Remarks
Note
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).
Examples
' Macro code.
Sub codeArgNameExample()
Dim sel As TextSelection = _
CType(DTE.ActiveDocument.Selection, TextSelection)
Dim cls As CodeClass2 = CType(sel.ActivePoint. _
CodeElement(vsCMElement.vsCMElementClass), CodeClass2)
Dim attr As CodeAttribute2
Dim attrArg As CodeAttributeArgument
Dim msg As String
Try
' Loop through all of the attributes in the class.
For Each attr In cls.Attributes
' Loop through all of the arguments for the attribute.
For Each attrArg In attr.Arguments
msg += "Value: " & attrArg.Value & " " & vbCr
' If the argument has a name, list it.
If attrArg.Name <> Nothing Then
msg += "Name: " & attrArg.Name & vbCr
End If
msg += "Arg start pos: " & _
attrArg.StartPoint.LineCharOffset & vbCr
msg += "Arg end pos: " & _
attrArg.EndPoint.LineCharOffset & vbCr
Next
Next
msg += "Location: " & attrArg.InfoLocation.ToString & vbCr
msg += "Is code type? " & attrArg.IsCodeType.ToString & vbCr
msg += "Code element type: " & attrArg.Kind.ToString & vbCr
msg += "Language: " & attrArg.Language & vbCr
msg += ("Name of attribute's project item: " & _
attrArg.ProjectItem.Name)
' List the arguments for the attribute.
MsgBox("Attribute parameters for " & attr.Name _
& ": " & vbCr & msg)
Catch ex As System.Exception
MsgBox("ERROR -> " & ex.Message)
End Try
End Sub
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
See Also
Reference
CodeAttributeArgument Interface
Other Resources
How to: Compile and Run the Automation Object Model Code Examples