VCCodeFunction Interface

Definition

An object defining a function construct in a source file.

public interface class VCCodeFunction
public interface class VCCodeFunction
__interface VCCodeFunction
[System.Runtime.InteropServices.Guid("16C2CB6E-64FC-43C5-B1FA-51677B1D9287")]
[System.Runtime.InteropServices.TypeLibType]
public interface VCCodeFunction
[<System.Runtime.InteropServices.Guid("16C2CB6E-64FC-43C5-B1FA-51677B1D9287")>]
[<System.Runtime.InteropServices.TypeLibType>]
type VCCodeFunction = interface
Public Interface VCCodeFunction
Attributes

Examples

This example retrieves all functions in the solution and displays the name of each.

Sub GetFunctions()  
    Dim vcCM as VCCodeModel  
    Dim vcFunc as VCCodeFunction  
    vcCM = DTE.Solution.Item(1).CodeModel  
    For Each vcFunc in vcCM.Functions  
        MsgBox(vcFunc.DisplayName)  
End Sub  

Remarks

The VCCodeFunction object provides code model functionality to existing Visual C++ IDE solutions at the function level. Primarily, this object is used to access or modify an existing function construct.

Note

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

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

Properties

Access

Gets or sets the access attributes of this item.

Attributes

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

BodyText

Gets or sets the body text of the parent object.

CanOverride

Gets or sets a value indicating whether or not the function can be overridden.

Children

Gets a collection of objects contained within this code construct.

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.

DisplayName

Gets the name used in the user interface for this output group.

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

FullName

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

FunctionKind

Gets an enumeration describing how a function is used.

InfoLocation

Gets the capabilities of the code model.

IsCaseSensitive

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

IsCodeType

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

IsConstant

Gets or sets a value indicating whether or not the item is a constant.

IsDefault
IsDelete
IsFinal
IsInjected

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

IsInline

Gets or sets the inline property of the function object.

IsOverloaded

Gets a value indicating whether or not a function is overloaded.

IsReadOnly

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

IsSealed

Sets or gets the IsSealed keyword on a function.

IsShared

Gets or sets a value indicating whether or not the item is statically defined, that is, if the item is common to all instances of this object type, or only to this object specifically.

IsTemplate

Gets a value indicating whether the parent object is a template.

IsVirtual

Gets or sets a value indicating whether the parent object is virtual.

IsZombie

Gets a value indicating whether the object exists.

Kind

Gets an enumeration value indicating the type of object.

Language

Gets the programming language used to author the code.

Location[vsCMWhere]

Gets the location of the object declaration.

MustImplement

Gets or sets a value indicating whether or not the item is declared abstract and thus requires an implementation.

Name

Gets or sets the name of the object.

Namespace

Gets an object defining the namespace.

Overloads

Gets a collection of overloaded methods for this item.

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

Prototype[Int32]

Gets a string holding the stub definition of this 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 parent object.

TemplateParameters

Gets a collection of parameters contained in a class template.

Templatizations

Internal Microsoft Use Only.

Type

Gets or sets an object representing the programmatic type.

TypeString

Gets or sets the type of object using a string representation of the type.

Methods

AddAttribute(String, String, Object)

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

AddInitializer(String)

Adds a C++ initializer to a constructor's member initializer list.

AddParameter(String, Object, Object)

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

AddTemplateParameter(String, Object, Object)

Adds a parameter to a template definition.

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.

RemoveParameter(Object)

Removes a parameter from the argument list.

RemoveTemplateParameter(Object)

Removes a parameter from a template definition.

Applies to