Type.GetPropertyImpl Método

Definição

Quando substituído em uma classe derivada, pesquisa a propriedade especificada cujos parâmetros correspondem aos modificadores e tipos de argumento especificados, usando as restrições de associação especificadas.

protected:
 abstract System::Reflection::PropertyInfo ^ GetPropertyImpl(System::String ^ name, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, Type ^ returnType, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
protected abstract System.Reflection.PropertyInfo? GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, Type? returnType, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
protected abstract System.Reflection.PropertyInfo GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, Type returnType, Type[] types, System.Reflection.ParameterModifier[] modifiers);
abstract member GetPropertyImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * Type * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.PropertyInfo
Protected MustOverride Function GetPropertyImpl (name As String, bindingAttr As BindingFlags, binder As Binder, returnType As Type, types As Type(), modifiers As ParameterModifier()) As PropertyInfo

Parâmetros

name
String

A cadeia de caracteres que contém o nome da propriedade a ser obtida.

bindingAttr
BindingFlags

Uma combinação bit a bit dos valores de enumeração que especificam como a pesquisa é realizada.

- ou -

Default para retornar null.

binder
Binder

Um objeto que define um conjunto de propriedades e habilita a associação, que pode envolver seleção de um membro sobrecarregado, coerção de tipos de argumento e invocação de um membro por meio da reflexão.

- ou -

Uma referência nula (Nothing no Visual Basic), para usar o DefaultBinder.

returnType
Type

O tipo de retorno da propriedade.

types
Type[]

Uma matriz de objetos Type que representam o número, a ordem e o tipo de parâmetros para a propriedade indexada a ser obtida.

- ou -

Uma matriz vazia do tipo Type (ou seja, tipos Type[] = novo Type[0]) para obter uma propriedade que não seja indexada.

modifiers
ParameterModifier[]

Uma matriz de objetos ParameterModifier que representam os atributos associados ao elemento correspondente na matriz types. O associador padrão não processa este parâmetro.

Retornos

Um objeto que representa a propriedade que corresponde aos requisitos especificados, se for encontrado; caso contrário, null.

Exceções

É encontrada mais de uma propriedade com o nome especificado e que corresponde às restrições de associação especificadas.

name é null.

- ou -

types é null.

- ou -

Um dos elementos em types é null.

types é multidimensional.

- ou -

modifiers é multidimensional.

- ou -

types e modifiers não têm o mesmo tamanho.

Comentários

Embora o associador padrão não processe ParameterModifier (o parâmetro modifiers ), é possível usar a classe abstrata System.Reflection.Binder para gravar um associador personalizado que processa modifiers. ParameterModifier só é usado ao chamar por meio da interoperabilidade COM, e somente os parâmetros passados por referência são tratados.

Os seguintes BindingFlags sinalizadores de filtro podem ser usados para definir quais propriedades incluir na pesquisa:

  • Você deve especificar BindingFlags.Instance ou BindingFlags.Static para obter um retorno.

  • Especifique BindingFlags.Public para incluir propriedades públicas na pesquisa.

  • Especifique BindingFlags.NonPublic para incluir propriedades não públicas (ou seja, propriedades particulares, internas e protegidas) na pesquisa.

  • Especifique BindingFlags.FlattenHierarchy para incluir os membros estáticos public e protected acima na hierarquia; os membros estáticos private em classes herdadas não são incluídos.

Os seguintes sinalizadores de modificador BindingFlags podem ser usados para alterar como a pesquisa funciona:

  • BindingFlags.IgnoreCase para ignorar o caso de name.

  • BindingFlags.DeclaredOnly para pesquisar apenas as propriedades declaradas no Type, e não as propriedades que foram simplesmente herdadas.

Consulte System.Reflection.BindingFlags para obter mais informações.

Aplica-se a

Confira também