CodeClass.Members (Propiedad)
Obtiene una colección de elementos contenidos en este elemento.
Espacio de nombres: EnvDTE
Ensamblado: EnvDTE (en EnvDTE.dll)
Sintaxis
'Declaración
ReadOnly Property Members As CodeElements
CodeElements Members { get; }
property CodeElements^ Members {
CodeElements^ get ();
}
abstract Members : CodeElements with get
function get Members () : CodeElements
Valor de propiedad
Tipo: EnvDTE.CodeElements
Colección de CodeElements.
Comentarios
Cuando la clase del tipo de código es vsCMElementDelegate, la propiedad Members produce un error porque los delegados no tienen miembros en el código fuente. Reciben contribuciones del compilador y de .NET Framework.
Nota
Los valores de los elementos de modelo de código como clases, structs, funciones, atributos, delegados, etc., pueden ser no deterministas una vez realizados determinados tipos de modificaciones; esto significa que no se puede confiar en que sus valores se mantengan siempre igual.Para obtener más información, vea la sección Los valores de elementos de modelo de código pueden cambiar, en Detectar código utilizando el modelo de código (Visual Basic).
Ejemplos
Public Sub CodeClassExample(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
Dim objTextSel As TextSelection
Dim objCodeCls As CodeClass
objTextSel = CType(dte.ActiveDocument.Selection, TextSelection)
objCodeCls = CType(objTextSel.ActivePoint.CodeElement(vsCMElement.vsCMElementClass), CodeClass)
' Add comments to CodeClass objCodeClass - notice change in code document.
objCodeCls.Comment = "Comments for the CodeClass object."
' Access top-level object through the CodeClass object
' and return the file name of that top-level object.
MessageBox.Show("Top-level object's filename: " + objCodeCls.DTE.FileName)
' Get the language used to code the CodeClass object - returns a GUID.
MessageBox.Show(objCodeCls.Language)
' Get a collection of elements contained by the CodeClass object.
Dim members As String = "Member Elements of " + objCodeCls.Name + ": " + vbCrLf
Dim elem As CodeElement
For Each elem In objCodeCls.Members
members = members + (elem.Name + vbCrLf)
Next elem
MessageBox.Show(members)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
public void CodeClassExample(DTE2 dte)
{
// Before running this example, open a code document from a
// project and place the insertion point inside a class definition.
try
{
TextSelection objTextSel;
CodeClass objCodeCls;
objTextSel = (TextSelection)dte.ActiveDocument.Selection;
objCodeCls = (CodeClass)objTextSel.ActivePoint.get_CodeElement(vsCMElement.vsCMElementClass);
// Add comments to CodeClass objCodeClass - notice change in code document.
objCodeCls.Comment = "Comments for the CodeClass object.";
// Access top-level object through the CodeClass object
// and return the file name of that top-level object.
MessageBox.Show("Top-level object's filename: " + objCodeCls.DTE.FileName);
// Get the language used to code the CodeClass object - returns a GUID.
MessageBox.Show(objCodeCls.Language);
// Get a collection of elements contained by the CodeClass object.
string members = "Member Elements of " + objCodeCls.Name + ": \n";
foreach (CodeElement elem in objCodeCls.Members)
{
members = members + (elem.Name + "\n");
}
MessageBox.Show(members);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
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
Otros recursos
Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización
Detectar código utilizando el modelo de código (Visual Basic)