VCCodeStruct Interface

Definition

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

public interface class VCCodeStruct
public interface class VCCodeStruct
__interface VCCodeStruct
[System.Runtime.InteropServices.Guid("EBA82D38-45C9-49E1-B85E-A10073BBB4E4")]
[System.Runtime.InteropServices.TypeLibType]
public interface VCCodeStruct
[<System.Runtime.InteropServices.Guid("EBA82D38-45C9-49E1-B85E-A10073BBB4E4")>]
[<System.Runtime.InteropServices.TypeLibType>]
type VCCodeStruct = interface
Public Interface VCCodeStruct
Attributes

Examples

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  

Remarks

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

Note

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

Properties

Access

Defines the access attributes of this item.

Attributes

Gets a collection of all of the attributes for the parent object.

Bases

Gets a collection of classes from which this item derives.

BodyText

Gets or sets the body text of the object.

Children

Gets a collection of objects contained within this code construct.

Classes

Gets a collection of classes for the parent object.

CodeModel

Returns the VCCodeModel object for the project.

Collection

Gets the collection containing the object supporting this property or contained within this code construct.

Comment

Gets or sets the comment associated with the code element.

DataTypeKind
DeclarationText

Gets or sets the declaration of the object.

DerivedTypes

Gets a collection of objects derived from this object.

DisplayName

Gets the full name of the object.

DocComment

Gets or sets the document comment for the current code model element.

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]

Gets the end point of the object.

Enums

Gets a collection of enumerations for the object.

Events

Gets a collection of events for the object.

Extender[String]

Returns 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 where this object is defined.

FullName

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

Functions

Gets a collection of functions for the object.

ImplementedInterfaces

Gets a collection of interfaces implemented by this object.

InfoLocation

Describes the capabilities of the code model.

IsAbstract

Gets or sets a value indicating whether or not an item is declared as abstract.

IsCaseSensitive

Gets a value indicating if a code element is case-sensitive.

IsCodeType

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

IsDerivedFrom[String]

Gets a value indicating whether an object has another object as a base.

IsFinal
IsInjected

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

IsManaged

Sets or gets if the object is managed.

IsReadOnly

Gets if the file containing the object is read-only.

IsSealed

Sets or gets if the __sealed keyword is applied to the parent object.

IsTemplate

Gets if the object is a template.

IsValue

Sets or gets if the __value keyword is applied to the object.

IsZombie

Gets if the 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 object declaration.

Members

Gets a collection of items contained by this element.

Name

Gets or sets the name of the object.

Namespace

Gets an object defining the parent namespace.

Parent

Gets the immediate parent object of a given object.

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

Properties

Gets the collection of properties for the object.

References

Not currently implemented.

StartPoint

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

StartPointOf[vsCMPart, vsCMWhere]

Gets the start point of the object.

Structs

Gets the collection of structure elements for the object.

TemplateParameters

A collection of template parameters.

Templatizations

Microsoft Internal Use Only.

Typedefs

Gets the collection of Typedef elements for the object.

Unions

Gets the collection of union elements for the object.

UsingAliases
Variables

Gets the collection of variables for the object.

Methods

AddAttribute(String, String, Object)

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

AddBase(Object, Object)

Adds an item to the list of inherited objects.

AddClass(String, Object, Object, Object, vsCMAccess)

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

AddDelegate(String, Object, Object, vsCMAccess)

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

AddEnum(String, Object, Object, vsCMAccess)

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

AddEvent(String, Object, Object, vsCMAccess)

Microsoft Internal Use Only.

AddFunction(String, vsCMFunction, Object, Object, vsCMAccess, Object)

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

AddImplementedInterface(Object, Object)

Adds an interface to the list of inherited objects.

AddProperty(String, String, Object, Object, vsCMAccess, Object)

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

AddStruct(String, Object, Object, Object, vsCMAccess)

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

AddTemplateParameter(String, Object, Object)

Adds a parameter to a template definition.

AddTypedef(String, Object, Object, vsCMAccess)

Adds a typedef statement to the object.

AddUnion(String, Object, vsCMAccess)

Adds a union statement to the object.

AddUsingAlias(String, Object, Object, vsCMAccess)
AddVariable(String, Object, Object, vsCMAccess, Object)

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

GetEndPoint(vsCMPart)

Gets a TextPoint object that marks the end of the code element definition.

GetStartPoint(vsCMPart)

Gets 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.

RemoveBase(Object)

Removes an object from the list of bases.

RemoveInterface(Object)

Removes an interface from the list of implemented interfaces.

RemoveMember(Object)

Removes a member code construct.

RemoveTemplateParameter(Object)

Removes a parameter from a template definition.

ValidateMember(String, vsCMElement, String)

Validates that the proposed name is a valid Visual C++ name for the kind given in the context of the parent object.

ValidateMemberName(String, vsCMElement, vcCMNameValidationOption)

Applies to