Type.GetConstructorImpl Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 é multidimensional.
-ou-
modifiers é multidimensional.
-ou-
types e modifiers não têm o mesmo comprimento.
O tipo atual é a TypeBuilder ou GenericTypeParameterBuilder.
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.InstanceouBindingFlags.Staticpara obter um retorno.Especifique
BindingFlags.Publicincluir construtores públicos na pesquisa.Especifique
BindingFlags.NonPublicincluir 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.