Partager via


CodeClass2.AddFunction, méthode (String, vsCMFunction, Object, Object, vsCMAccess, Object)

Crée une fonction dans la classe.

Espace de noms :  EnvDTE80
Assembly :  EnvDTE80 (dans EnvDTE80.dll)

Syntaxe

'Déclaration
Function AddFunction ( _
    Name As String, _
    Kind As vsCMFunction, _
    Type As Object, _
    Position As Object, _
    Access As vsCMAccess, _
    Location As Object _
) As CodeFunction
CodeFunction AddFunction(
    string Name,
    vsCMFunction Kind,
    Object Type,
    Object Position,
    vsCMAccess Access,
    Object Location
)
CodeFunction^ AddFunction(
    String^ Name, 
    vsCMFunction Kind, 
    Object^ Type, 
    Object^ Position, 
    vsCMAccess Access, 
    Object^ Location
)
abstract AddFunction : 
        Name:string * 
        Kind:vsCMFunction * 
        Type:Object * 
        Position:Object * 
        Access:vsCMAccess * 
        Location:Object -> CodeFunction 
function AddFunction(
    Name : String, 
    Kind : vsCMFunction, 
    Type : Object, 
    Position : Object, 
    Access : vsCMAccess, 
    Location : Object
) : CodeFunction

Paramètres

  • Name
    Type : System.String
    Obligatoire.Nom de la nouvelle fonction.
  • Kind
    Type : EnvDTE.vsCMFunction
    Obligatoire.Constante vsCMFunction indiquant le type de fonction, par exemple si la fonction est un accesseur GET de propriété, une méthode, etc.
  • Position
    Type : System.Object
    Facultatif.Valeur par défaut = 0.Élément de code après lequel la nouvelle fonction doit être ajoutée.
    Si la valeur est de type Long, Position indique l'élément après lequel le nouvel élément doit être ajouté.
    Comme la comptabilisation des collections commence à 1, passer la valeur 0 indique que le nouvel élément doit être placé au début de la collection.La valeur -1 signifie que la fonction doit être placée à la fin.
  • Location
    Type : System.Object
    Facultatif.Emplacement de la nouvelle fonction.

Valeur de retour

Type : EnvDTE.CodeFunction
Objet CodeFunction.

Implémentations

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

Notes

Le code Visual C++ natif nécessite le format séparé par deux-points (::) pour ses noms de types qualifiés complets. Tous les autres langages prennent en charge le format séparé par des points.

L'exactitude des arguments est déterminée par le langage, au-delà du modèle de code.

Notes

Les valeurs d'éléments de modèle de code, tels que des classes, des structures, des fonctions, des attributs, des délégués, etc., peuvent être non déterminables après certains types de modifications, ce qui signifie qu'il n'est pas certain que leurs valeurs resteront inchangées. Pour plus d'informations, consultez la section Les valeurs d'élément de modèle de code peuvent être modifiées de la rubrique Découverte de code à l'aide du modèle de code (Visual Basic).

Exemples

[Visual Basic]

Sub AddFunctionExample2(ByVal dte As DTE2)
    ' Before running this example, open a code document from a project
    ' and place the insertion point inside a class definition.
    Try
        ' Retrieve the CodeClass at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim cls As CodeClass = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementClass), CodeClass)

        ' Create a new member function.
        cls.AddFunction("TestFunction", _
            vsCMFunction.vsCMFunctionFunction, _
            vsCMTypeRef.vsCMTypeRefInt)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

[C#]

public void AddFunctionExample2(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside a class definition.
    try
    {
        // Retrieve the CodeClass at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeClass cls = 
            (CodeClass)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementClass);

        // Create a new member function.
        cls.AddFunction("TestFunction", 
            vsCMFunction.vsCMFunctionFunction, 
            vsCMTypeRef.vsCMTypeRefInt, -1, 
            vsCMAccess.vsCMAccessDefault, null);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Sécurité .NET Framework

Voir aussi

Référence

CodeClass2 Interface

AddFunction, surcharge

EnvDTE80, espace de noms

Autres ressources

Comment : compiler et exécuter les exemples de code du modèle objet Automation

Découverte de code à l'aide du modèle de code (Visual Basic)

Découverte de code à l'aide du modèle de code (Visual C#)