FileCodeModel2.CodeElementFromPoint – metoda (TextPoint, vsCMElement)
Prvek kódu v určitém místě vrátí ve zdrojovém souboru.
Obor názvů: EnvDTE80
Sestavení: EnvDTE80 (v EnvDTE80.dll)
Syntaxe
'Deklarace
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
Parametry
- Point
Typ: EnvDTE.TextPoint
Povinné.A TextPoint objekt představující umístění editor, pro kterou chcete prvek kódu.
- Scope
Typ: EnvDTE.vsCMElement
Povinné.A vsCMElement hodnotu reprezentující prvek zadaného typu, který obsahuje umístění v editoru kódu.
Vrácená hodnota
Typ: EnvDTE.CodeElement
Objekt CodeElement.
Poznámky
CodeElementFromPointvrátí kód prvek přidružené TextPoint na základě zadaného oboru nebo rozlišovací uzavření.Pokud žádný kód prvek zadaného typu obsahuje umístění editor potom CodeElementFromPoint se nezdaří.
Příklady
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);
}
Zabezpečení rozhraní .NET Framework
- Plná důvěra přímému volajícímu. Částečně zabezpečený kód nemůže tento člen použít. Další informace naleznete v tématu Používání knihoven z částečně důvěryhodného kódu.
Viz také
Referenční dokumentace
CodeElementFromPoint – přetížení
Další zdroje
Jak: kompilace a spuštění příkladů kódu automatizace objektu modelu