Partager via


FileCodeModel2.CodeElementFromPoint, méthode (TextPoint, vsCMElement)

Retourne un élément de code à un emplacement spécifique dans un fichier source.

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

Syntaxe

'Déclaration
Function CodeElementFromPoint ( _
    Point As TextPoint, _
    Scope As vsCMElement _
) As CodeElement
CodeElement CodeElementFromPoint(
    TextPoint Point,
    vsCMElement Scope
)
CodeElement^ CodeElementFromPoint(
    TextPoint^ Point, 
    vsCMElement Scope
)
abstract CodeElementFromPoint : 
        Point:TextPoint * 
        Scope:vsCMElement -> CodeElement 
function CodeElementFromPoint(
    Point : TextPoint, 
    Scope : vsCMElement
) : CodeElement

Paramètres

  • Point
    Type : EnvDTE.TextPoint
    Obligatoire.Objet TextPoint représentant l'emplacement de l'éditeur pour lequel vous voulez un élément de code.
  • Scope
    Type : EnvDTE.vsCMElement
    Obligatoire.Valeur vsCMElement représentant l'élément de code du type spécifié qui contient l'emplacement de l'éditeur.

Valeur de retour

Type : EnvDTE.CodeElement
Objet CodeElement.

Notes

CodeElementFromPoint retourne l'élément de code associé à TextPoint en fonction de la portée ou de la granularité de contenance spécifiée.Si aucun élément de code du type spécifié ne contient d'emplacement d'éditeur, CodeElementFromPoint échoue.

Exemples

Sub CodeElementFromPointExample(ByVal dte As DTE2)

    ' Before running this example, open a code document from a project
    ' and place the insertion point anywhere inside the source code.
    Dim sel As TextSelection = _
        CType(dte.ActiveDocument.Selection, TextSelection)
    Dim pnt As TextPoint = CType(sel.ActivePoint, TextPoint)

    ' Discover every code element containing the insertion point.
    Dim fcm As FileCodeModel = _
        dte.ActiveDocument.ProjectItem.FileCodeModel
    Dim elems As String
    Dim elem As CodeElement
    Dim scope As vsCMElement
    For Each scope In [Enum].GetValues(scope.GetType())
        Try
            elem = fcm.CodeElementFromPoint(pnt, scope)
            elems &= elem.Name & " (" & scope.ToString() & ")" & vbCrLf
       Catch ex As Exception
            ‘don’t do anything -
            ‘this is expected when no code elements are in scope
       End Try
    Next
    MsgBox("The following elements contain the insertion point:" _
            & vbCrLf & vbCrLf & elems)
End Sub
public void CodeElementFromPointExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point anywhere inside the source code.
    TextSelection sel = 
        (TextSelection)dte.ActiveDocument.Selection;
    TextPoint pnt = (TextPoint)sel.ActivePoint;
    // Discover every code element containing the insertion point.
    FileCodeModel fcm = 
    dte.ActiveDocument.ProjectItem.FileCodeModel;
    string elems = "";
    vsCMElement scopes = 0;
    foreach (vsCMElement scope in Enum.GetValues(scopes.GetType()))
    {
        try
        {
            CodeElement elem = fcm.CodeElementFromPoint(pnt, scope);
            elems += elem.Name + " (" + scope.ToString() + ")\n";
        }
        catch (COMException ex)
        {
            //don’t do anything – this is expected if there is 
            //no code element in the scope
        }
    }
    MessageBox.Show(
        "The following elements contain the insertion point:\n\n" + 
        elems);
}

Sécurité .NET Framework

Voir aussi

Référence

FileCodeModel2 Interface

CodeElementFromPoint, surcharge

EnvDTE80, espace de noms

Autres ressources

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