VCCodeStruct Interface

An object representing a structure code element in the source code of a solution.

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

[GuidAttribute("B3B2B528-ECD5-4DD0-808F-07EB265A1FD8")]
public interface VCCodeStruct

The VCCodeStruct type exposes the following members.

  NameDescription
Public propertyAccessDefines the access attributes of this item.
Public propertyAttributesGets a collection of all of the attributes for the parent object.
Public propertyBasesGets a collection of classes from which this item derives.
Public propertyBodyTextGets or sets the body text of the object.
Public propertyChildrenGets a collection of objects contained within this code construct.
Public propertyClassesGets a collection of classes for the parent object.
Public propertyCodeModelReturns the VCCodeModel object for the project.
Public propertyCollectionGets the collection containing the object supporting this property or contained within this code construct.
Public propertyCommentGets or sets the comment associated with the code element.
Public propertyDeclarationTextGets or sets the declaration of the object.
Public propertyDerivedTypesGets a collection of objects derived from this object.
Public propertyDisplayNameGets the full name of the object.
Public propertyDocCommentGets or sets the document comment for the current code model element.
Public propertyDTEGets the top-level extensibility object.
Public propertyEndPointGets the edit point that is the location of the end of the code item.
Public propertyEndPointOfGets the end point of the object.
Public propertyEnumsGets a collection of enumerations for the object.
Public propertyEventsGets a collection of events for the object.
Public propertyExtenderReturns the requested Extender object if it is available for this object.
Public propertyExtenderCATIDGets the Extender category ID (CATID) for the object.
Public propertyExtenderNamesGets a list of available Extenders for the object.
Public propertyFileGets the file where this object is defined.
Public propertyFullNameGets the full path and name of the object's file.
Public propertyFunctionsGets a collection of functions for the object.
Public propertyImplementedInterfacesGets a collection of interfaces implemented by this object.
Public propertyInfoLocationDescribes the capabilities of the code model.
Public propertyIsAbstractGets or sets a value indicating whether or not an item is declared as abstract.
Public propertyIsCaseSensitiveGets a value indicating if a code element is case-sensitive.
Public propertyIsCodeTypeGets a value indicating whether a CodeType object can be obtained from this object.
Public propertyIsDerivedFromGets a value indicating whether an object has another object as a base.
Public propertyIsInjectedGets if a code element has been injected by an attribute or macro expansion.
Public propertyIsManagedSets or gets if the object is managed.
Public propertyIsReadOnlyGets if the file containing the object is read-only.
Public propertyIsSealedSets or gets if the __sealed keyword is applied to the parent object.
Public propertyIsTemplateGets if the object is a template.
Public propertyIsValueSets or gets if the __value keyword is applied to the object.
Public propertyIsZombieGets if the object exists.
Public propertyKindGets an enumeration indicating the type of object.
Public propertyLanguageGets the programming language used to author the code.
Public propertyLocationReturns the location of the object declaration.
Public propertyMembersGets a collection of items contained by this element.
Public propertyNameGets or sets the name of the object.
Public propertyNamespaceGets an object defining the parent namespace.
Public propertyParentGets the immediate parent object of a given object.
Public propertyPictureGets a picture automation object to be used as an icon in the user interface.
Public propertyProjectGets the Project associated with the object.
Public propertyProjectItemGets the ProjectItem object associated with the given object.
Public propertyPropertiesGets the collection of properties for the object.
Public propertyReferencesNot currently implemented.
Public propertyStartPointGets a TextPoint object that defines the beginning of the code item.
Public propertyStartPointOfGets the start point of the object.
Public propertyStructsGets the collection of structure elements for the object.
Public propertyTemplateParametersA collection of template parameters.
Public propertyTemplatizationsInfrastructure. Microsoft Internal Use Only.
Public propertyTypedefsGets the collection of Typedef elements for the object.
Public propertyUnionsGets the collection of union elements for the object.
Public propertyVariablesGets the collection of variables for the object.
Top

  NameDescription
Public methodAddAttributeCreates a new attribute code construct and inserts the code in the correct location.
Public methodAddBaseAdds an item to the list of inherited objects.
Public methodAddClassCreates a new class code construct and inserts the code in the correct location.
Public methodAddDelegateCreates a new delegate code construct and inserts the code in the correct location.
Public methodAddEnumCreates a new enumeration code construct and inserts the code in the correct location.
Public methodAddEventInfrastructure. Microsoft Internal Use Only.
Public methodAddFunctionCreates a new function code construct and inserts the code in the correct location.
Public methodAddImplementedInterfaceAdds an interface to the list of inherited objects.
Public methodAddPropertyCreates a new property code construct and inserts the code in the correct location.
Public methodAddStructCreates a new structure code construct and inserts the code in the correct location.
Public methodAddTemplateParameterAdds a parameter to a template definition.
Public methodAddTypedefAdds a typedef statement to the object.
Public methodAddUnionAdds a union statement to the object.
Public methodAddVariableCreates a new variable code construct and inserts the code in the correct location.
Public methodGetEndPointGets a TextPoint object that marks the end of the code element definition.
Public methodGetStartPointGets a TextPoint object that defines the beginning of the code element definition.
Public methodIsSelfDetermines if the specified code element is the same as the parent code element.
Public methodRemoveBaseRemoves an object from the list of bases.
Public methodRemoveInterfaceRemoves an interface from the list of implemented interfaces.
Public methodRemoveMemberRemoves a member code construct.
Public methodRemoveTemplateParameterRemoves a parameter from a template definition.
Public methodValidateMemberValidates that the proposed name is a valid Visual C++ name for the kind given in the context of the parent object.
Top

The VCCodeStruct object is used to modify an existing function construct.

NoteNote

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

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

This example retrieves all structure code elements of the current solution and displays each name in a message box.

[Visual Basic]

Sub GetAllStructs()
    Dim vcCM As VCCodeModel
    Dim vcStruct As VCCodeStruct
    vcCM = DTE.Solution.Item(1).CodeModel
    For Each vcStruct in vcCM.Structs
        MsgBox(vcStruct.DisplayName)
    Next
End Sub

Community Additions

ADD
Show: