Share via


VCCodeUnion Interface

Definition

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

public interface class VCCodeUnion
public interface class VCCodeUnion
__interface VCCodeUnion
[System.Runtime.InteropServices.Guid("8EE8FE1A-E595-475E-8D81-35EDB078AFC1")]
[System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)]
public interface VCCodeUnion
[<System.Runtime.InteropServices.Guid("8EE8FE1A-E595-475E-8D81-35EDB078AFC1")>]
[<System.Runtime.InteropServices.TypeLibType(System.Runtime.InteropServices.TypeLibTypeFlags.FDispatchable | System.Runtime.InteropServices.TypeLibTypeFlags.FDual)>]
type VCCodeUnion = interface
Public Interface VCCodeUnion
Attributes

Examples

This example displays the name of each union code element in the current solution. It assumes a C++ project is open and that it has global unions.

Sub GetAllUnions()  
    Dim vcCM As VCCodeModel  
    Dim vcUnion As VCCodeUnions  
    vcCM = DTE.Solution.Item(1).CodeModel  
    For Each vcUnion in vcCM.Unions  
        MsgBox(vcUnion.DisplayName)  
    Next  
End Sub  

Remarks

The VCCodeUnion object is used to modify an existing union construct.

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

Properties

Access

Sets or gets the access attributes of this item.

Attributes

Gets a collection of all of the attributes for the 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 object.

CodeModel

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

DeclarationText

Gets or sets the declaration of the object.

DerivedTypes

Gets a collection of objects derived from this object.

DisplayName

Gets the formatted name to be displayed to users.

DocComment

Sets or gets 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]

Returns the end point of the object.

Enums

Gets a collection of enumerations 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 associated with this VCCodeUnion.

FullName

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

Functions

Gets a collection of functions for the object.

InfoLocation

Gets the capabilities of the code model.

IsCaseSensitive

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

IsInjected

Gets whether a code element has been injected by an attribute.

IsReadOnly

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

IsTemplate

Gets whether the object is a template.

IsZombie

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

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.

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

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

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.

AddEnum(String, Object, Object, vsCMAccess)

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

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

Creates a new function 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 code element.

RemoveBase(Object)

Removes an object from the list of bases.

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 C++ name for the kind given in the context of the parent object.

ValidateMemberName(String, vsCMElement, vcCMNameValidationOption)

Applies to