Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

Type.GetProperty (Método) (String, Type, Type[])

Busca la propiedad pública especificada cuyos parámetros coincidan con los tipos de argumentos especificados.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)
public PropertyInfo GetProperty(
	string name,
	Type returnType,
	Type[] types
)

Parámetros

name
Tipo: System.String
Cadena que contiene el nombre de la propiedad pública que se va a obtener.
returnType
Tipo: System.Type
tipo de valor devuelto de la propiedad.
types
Tipo: System.Type[]
Matriz de objetos Type que representa el número, el orden y el tipo de parámetros que la propiedad indizada debe obtener.
O bien
Matriz vacía del tipo Type (es decir, Type[] types = new Type[0]) para obtener una propiedad que no esté indizada.

Valor devuelto

Tipo: System.Reflection.PropertyInfo
Objeto que representa la propiedad pública cuyos parámetros coinciden con los tipos de argumentos especificados, si se encuentra; en caso contrario, null.

Implementaciones

_Type.GetProperty(String, Type, Type[])
ExcepciónCondición
AmbiguousMatchException

Hay varias propiedades con el nombre especificado que coinciden con los tipos de argumentos especificados.

ArgumentNullException

name es null.

O bien

types es null.

ArgumentException

types es multidimensional.

NullReferenceException

Un elemento de types es null.

Se considera que una propiedad es pública para la reflexión si tiene al menos un descriptor de acceso que es público. De lo contrario la propiedad se considera privada y se debe usar BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static (en Visual Basic, combine los valores mediante Or) para obtenerlo.

La búsqueda de name distingue entre mayúsculas y minúsculas. La búsqueda incluye las propiedades estáticas públicas y propiedades de instancias públicas.

Si el objeto Type actual representa un tipo genérico construido, este método devuelve PropertyInfo con los parámetros de tipo sustituidos por los argumentos de tipo adecuados.

Si el objeto Type actual representa un parámetro de tipo en la definición de un tipo genérico o de un método genérico, este método busca las propiedades de la restricción de clase.

Indizadores y propiedades predeterminadas

Visual Basic 2005, Visual C# 2005 y Visual C++ 2005 tienen una sintaxis simplificada para obtener acceso a las propiedades indizadas y permiten que una propiedad indizada sea una propiedad predeterminada para su tipo. Por ejemplo, si la variable myList hace referencia a un objeto ArrayList, la sintaxis myList[3] (myList(3) en Visual Basic) recupera el elemento con el índice 3. Puede sobrecargar la propiedad.

En C#, esta característica se denomina indizador y no se puede hacer referencia a ella por el nombre. De forma predeterminada, un indizador de C# aparece en los metadatos como una propiedad indizada denominada "Item". Sin embargo, un desarrollador de bibliotecas de clases puede utilizar el atributo IndexerNameAttribute para cambiar el nombre del indizador en los metadatos. Por ejemplo, la clase String tiene un indizador denominado Chars. Las propiedades indizadas creadas con lenguajes distintos de C# también pueden tener nombres diferentes de Item.

Para determinar si un tipo tiene una propiedad predeterminada, utilice el método GetCustomAttributes(Type, Boolean) para probar el atributo DefaultMemberAttribute. Si el tipo tiene DefaultMemberAttribute, la propiedad MemberName devuelve el nombre de la propiedad predeterminada.

.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.