VCCodeFunction Interface

An object defining a function construct in a source file.

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

Syntax

'Declaration
<GuidAttribute("A0722C81-96A6-4C24-962B-2F5A2DA91372")> _
Public Interface VCCodeFunction
[GuidAttribute("A0722C81-96A6-4C24-962B-2F5A2DA91372")]
public interface VCCodeFunction
[GuidAttribute(L"A0722C81-96A6-4C24-962B-2F5A2DA91372")]
public interface class VCCodeFunction
[<GuidAttribute("A0722C81-96A6-4C24-962B-2F5A2DA91372")>]
type VCCodeFunction =  interface end
public interface VCCodeFunction

The VCCodeFunction type exposes the following members.

Properties

  Name Description
Public property Access Gets or sets the access attributes of this item.
Public property Attributes Gets a collection of all of the attributes for the parent object.
Public property BodyText Gets or sets the body text of the parent object.
Public property CanOverride Gets or sets a value indicating whether or not the function can be overridden.
Public property Children Gets a collection of objects contained within this code construct.
Public property CodeModel Gets the VCCodeModel object for the project.
Public property Collection Gets the collection containing the object supporting this property or contained within this code construct.
Public property Comment Gets or sets the comment associated with the code element.
Public property DeclarationText Gets or sets the declaration of the object.
Public property DisplayName Gets the name used in the user interface for this output group.
Public property DocComment Gets or sets the document comment for the current code model element.
Public property DTE Gets the top-level extensibility object.
Public property EndPoint Gets the edit point that is the location of the end of the code item.
Public property EndPointOf Gets the end point of the parent object.
Public property Extender Gets the requested Extender object if it is available for this object.
Public property ExtenderCATID Gets the Extender category ID (CATID) for the object.
Public property ExtenderNames Gets a list of available Extenders for the object.
Public property File Gets the file where this object is defined.
Public property FullName Gets the full path and name of the object's file.
Public property FunctionKind Gets an enumeration describing how a function is used.
Public property InfoLocation Gets the capabilities of the code model.
Public property IsCaseSensitive Gets a value indicating whether a code element is case-sensitive.
Public property IsCodeType Gets a value indicating whether a CodeType object can be obtained from this object.
Public property IsConstant Gets or sets a value indicating whether or not the item is a constant.
Public property IsInjected Gets a value indicating if a code element has been injected by an attribute or macro expansion.
Public property IsInline Gets or sets the inline property of the function object.
Public property IsOverloaded Gets a value indicating whether or not a function is overloaded.
Public property IsReadOnly Gets a value indicating whether the file containing the parent object is read-only.
Public property IsSealed Sets or gets the IsSealed keyword on a function.
Public property 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.
Public property IsTemplate Gets a value indicating whether the parent object is a template.
Public property IsVirtual Gets or sets a value indicating whether the parent object is virtual.
Public property IsZombie Gets a value indicating whether the object exists.
Public property Kind Gets an enumeration value indicating the type of object.
Public property Language Gets the programming language used to author the code.
Public property Location Gets the location of the object declaration.
Public property MustImplement Gets or sets a value indicating whether or not the item is declared abstract and thus requires an implementation.
Public property Name Gets or sets the name of the object.
Public property Namespace Gets an object defining the namespace.
Public property Overloads Gets a collection of overloaded methods for this item.
Public property Parameters Gets a collection of parameters for this item.
Public property Parent Gets the immediate parent object of a given object.
Public property Picture Gets a picture automation object to be used as an icon in the user interface.
Public property Project Gets the Project associated with the object.
Public property ProjectItem Gets the ProjectItem object associated with the given object.
Public property Prototype Gets a string holding the stub definition of this object.
Public property References Not currently implemented.
Public property StartPoint Gets a TextPoint object that defines the beginning of the code item.
Public property StartPointOf Gets the start point of the parent object.
Public property TemplateParameters Gets a collection of parameters contained in a class template.
Public property Templatizations Infrastructure. Internal Microsoft Use Only.
Public property Type Gets or sets an object representing the programmatic type.
Public property TypeString Gets or sets the type of object using a string representation of the type.

Top

Methods

  Name Description
Public method AddAttribute Creates a new attribute code construct and inserts the code in the correct location.
Public method AddInitializer Adds a C++ initializer to a constructor's member initializer list.
Public method AddParameter Creates a new parameter code construct and inserts the code in the correct location.
Public method AddTemplateParameter Adds a parameter to a template definition.
Public method GetEndPoint Gets a TextPoint object that marks the end of the code element definition.
Public method GetStartPoint Gets a TextPoint object that defines the beginning of the code element definition.
Public method IsSelf Determines if the specified code element is the same as the parent code element.
Public method RemoveParameter Removes a parameter from the argument list.
Public method RemoveTemplateParameter Removes a parameter from a template definition.

Top

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.

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

See Also

Reference

Microsoft.VisualStudio.VCCodeModel Namespace