FileCodeModel2.CodeElementFromPoint (Método) (TextPoint, vsCMElement)
Devuelve un elemento de código en una ubicación determinada del archivo de código fuente.
Espacio de nombres: EnvDTE80
Ensamblado: EnvDTE80 (en EnvDTE80.dll)
Sintaxis
'Declaración
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
Parámetros
- Point
Tipo: EnvDTE.TextPoint
Obligatorio.Objeto TextPoint que representa la ubicación del editor en la que desea insertar un elemento de código.
- Scope
Tipo: EnvDTE.vsCMElement
Obligatorio.Valor de vsCMElement que representa el elemento de código del tipo especificado que contiene la ubicación del editor.
Valor devuelto
Tipo: EnvDTE.CodeElement
Objeto CodeElement.
Comentarios
CodeElementFromPoint devuelve el elemento de código asociado a TextPoint basándose en el ámbito o granularidad de contención especificado.Si no existe ningún elemento de código del tipo especificado que contenga la ubicación del editor, entonces CodeElementFromPoint producirá errores.
Ejemplos
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);
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
CodeElementFromPoint (Sobrecarga)
Otros recursos
Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización