Type.GetPropertyImpl Método

Definição

Quando sobrescrito numa classe derivada, procura a propriedade especificada cujos parâmetros correspondem aos tipos de argumentos e modificadores especificados, usando as restrições de ligaçã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);
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 que contém o nome da propriedade a obter.

bindingAttr
BindingFlags

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

-ou-

Default para regressar null.

binder
Binder

Um objeto que define um conjunto de propriedades e permite a ligação, que pode envolver a seleção de um elemento sobrecarregado, a coerção dos tipos de argumentos e a invocação de um elemento através da reflexão.

-ou-

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

returnType
Type

O tipo de devolução da propriedade.

types
Type[]

Um array de Type objetos que representa o número, ordem e tipo dos parâmetros para a propriedade indexada a obter.

-ou-

Um array vazio do tipo Type (isto é, Tipo[] tipos = novo Tipo[0]) para obter uma propriedade que não está indexada.

modifiers
ParameterModifier[]

Um array de ParameterModifier objetos que representa os atributos associados ao elemento correspondente no types array. O binder padrão não processa este parâmetro.

Devoluções

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

Exceções

Mais do que uma propriedade é encontrada com o nome especificado e correspondendo às restrições de ligaçã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 comprimento.

Observações

Embora o fichário padrão não processe ParameterModifier (o modifiers parâmetro), você pode usar a classe abstrata System.Reflection.Binder para escrever um fichário personalizado que processa modifiers. ParameterModifier é utilizado apenas ao fazer chamadas através da interoperabilidade COM, e apenas os parâmetros que são passados por referência são tratados.

Os seguintes BindingFlags sinalizadores de filtro podem ser usados para definir quais propriedades devem ser incluídas na pesquisa:

  • Você deve especificar ou 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 privadas, internas e protegidas) na pesquisa.

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

Os seguintes BindingFlags sinalizadores modificadores podem ser usados para alterar o funcionamento da pesquisa:

  • BindingFlags.IgnoreCase ignorar o caso de name.

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

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

Aplica-se a

Ver também