Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

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

 

Publicado: octubre de 2016

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
Type: System.String

Cadena que contiene el nombre de la propiedad pública que se va a obtener.

returnType
Type: System.Type

Tipo de valor devuelto de la propiedad.

types
Type: 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

Type: 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.

Exception Condition
AmbiguousMatchException

Se encontró más de una propiedad con el nombre especificado y que coincide con los tipos de argumento especificados.

ArgumentNullException

El valor de name es null.

O bien

El valor de types es null.

ArgumentException

types es multidimensional.

NullReferenceException

Un elemento de types es null.

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

La búsqueda de name distingue mayúsculas de minúsculas. La búsqueda incluye propiedades de instancia público static y public.

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

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

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

En C#, esta característica se denomina indizador y no puede ser usan por su nombre. De forma predeterminada, un indizador de C# aparece en los metadatos como una propiedad indizada denominada "Item". Sin embargo, un desarrollador de biblioteca de clase puede utilizar el IndexerNameAttribute atributo para cambiar el nombre del indizador en los metadatos. Por ejemplo, el String clase tiene un indizador que se denomina Chars. Propiedades indizadas creadas con lenguajes distintos de C# pueden tener nombres que no sea de elemento, también. 

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

.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: