Type.GetConstructorImpl Método

Definição

Quando sobrescrito numa classe derivada, procura um construtor cujos parâmetros correspondam aos tipos de argumento e modificadores especificados, usando as restrições de ligação especificadas e a convenção de chamada especificada.

protected:
 abstract System::Reflection::ConstructorInfo ^ GetConstructorImpl(System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, System::Reflection::CallingConventions callConvention, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors)]
protected abstract System.Reflection.ConstructorInfo? GetConstructorImpl(System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
protected abstract System.Reflection.ConstructorInfo GetConstructorImpl(System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected abstract System.Reflection.ConstructorInfo? GetConstructorImpl(System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors)>]
abstract member GetConstructorImpl : System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.ConstructorInfo
abstract member GetConstructorImpl : System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.ConstructorInfo
Protected MustOverride Function GetConstructorImpl (bindingAttr As BindingFlags, binder As Binder, callConvention As CallingConventions, types As Type(), modifiers As ParameterModifier()) As ConstructorInfo

Parâmetros

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 método sobrecarregado, a coerção dos tipos de argumentos e a invocação de um membro através da reflexão.

-ou-

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

callConvention
CallingConventions

O objeto que especifica o conjunto de regras a usar relativamente à ordem e disposição dos argumentos, como o valor de retorno é passado, que registos são usados para argumentos e a pilha é limpo.

types
Type[]

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

-ou-

Um array vazio do tipo Type (ou seja, Tipo[] tipos = novo Tipo[0]) para obter um construtor que não aceita parâmetros.

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 o construtor e que corresponde aos requisitos especificados, se encontrado ConstructorInfo ; caso contrário, null.

Atributos

Exceções

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.

Se não existir correspondência exata, tentará binder coagir os tipos de parâmetros especificados no types array para selecionar uma correspondência. Se não binder conseguir selecionar uma correspondência, então null é devolvido.

As seguintes BindingFlags bandeiras de filtro podem ser usadas para definir quais os construtores a incluir na pesquisa:

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

  • Especifique BindingFlags.Public incluir construtores públicos na pesquisa.

  • Especifique BindingFlags.NonPublic incluir construtores não públicos (ou seja, construtores privados, internos e protegidos) na pesquisa.

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

Este método implementa GetConstructor.

Aplica-se a

Ver também