CodeFunction.FunctionKind-Eigenschaft

Aktualisiert: November 2007

Ruft eine Enumeration ab, die die Verwendung einer Funktion beschreibt.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Syntax

ReadOnly Property FunctionKind As vsCMFunction

Dim instance As CodeFunction
Dim value As vsCMFunction

value = instance.FunctionKind
vsCMFunction FunctionKind { get; }
property vsCMFunction FunctionKind {
    vsCMFunction get ();
}
function get FunctionKind () : vsCMFunction

Eigenschaftenwert

Typ: EnvDTE.vsCMFunction

Ein vsCMFunction-Wert.

Hinweise

FunctionKind gibt den Typ der Funktion zurück, beispielsweise Property Get, Property Let, Sub oder Function.

Die vsCMFunction-Werte sollen mit einem bitweisen OR-Operator zusammengefügt werden. Visual C++ vereint mehrere dieser Werte, um eine Funktion genau zu beschreiben. Beispiel: virtual int MyProc() const = 0;.

MyProc ergibt einen Wert von (vsCMFunctionFunction | vsCMFunctionVirtual | vsCMFunctionConstant | vsCMFunctionPure | vsCMFunctionTopLevel).

Weiteres Beispiel: inline void AnotherOne().

Dies ergibt einen Wert von (vsCMFunctionSub | vsCMFunctionInline, vsCMFunctionTopLevel).

Hinweis:

Die Werte von Codemodellelementen wie Klassen, Strukturen, Funktionen, Attributen, Delegaten usw. können nach bestimmten Bearbeitungsvorgängen nicht deterministisch sein, d. h., dass nicht mehr davon ausgegangen werden kann, dass ihre Werte immer unverändert bleiben. Weitere Informationen finden Sie im Abschnitt zum Änderungsverhalten von Codemodellelementwerten unter Ermitteln von Code über das Codemodell (Visual Basic).

Beispiele

 Sub FunctionKindExample(ByVal dte As DTE2)

    ' Before running this example, open a code document from a project
    ' and place the insertion point inside a function.
    Try
        ' Retrieve the CodeFunction at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim fun As CodeFunction = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementFunction), CodeFunction)

        MsgBox(fun.Name & "'s kind is " & fun.FunctionKind.ToString())
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
 public void FunctionKindExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside a function.
    try
    {
        // Retrieve the CodeFunction at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeFunction fun = 
            (CodeFunction)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementFunction);

        MessageBox.Show(fun.Name + "'s kind is " + 
            fun.FunctionKind.ToString());
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Berechtigungen

Siehe auch

Referenz

CodeFunction-Schnittstelle

CodeFunction-Member

EnvDTE-Namespace

Weitere Ressourcen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell

Ermitteln von Code über das Codemodell (Visual Basic)

Ermitteln von Code über das Codemodell (Visual C#)