Type.GetConstructorImpl Metoda

Definice

Při přepsání v odvozené třídě hledá konstruktor, jehož parametry odpovídají zadaným typům argumentů a modifikátorům, pomocí zadaných omezení vazby a zadané konvence volání.

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

Parametry

bindingAttr
BindingFlags

Bitové kombinace hodnot výčtu, které určují způsob provedení hledání.

nebo

Default nullvrátit .

binder
Binder

Objekt, který definuje sadu vlastností a umožňuje vazbu, která může zahrnovat výběr přetížené metody, převod typů argumentů a vyvolání člena prostřednictvím reflexe.

nebo

Odkaz null (Nothing v Visual Basic) pro použití DefaultBinder.

callConvention
CallingConventions

Objekt, který určuje sadu pravidel, která se mají použít v souvislosti s pořadím a rozložením argumentů, jak se předá vrácená hodnota, jaké registry se používají pro argumenty, a zásobník se vyčistí.

types
Type[]

Pole objektů představujících Type číslo, pořadí a typ parametrů pro konstruktor získat.

nebo

Prázdné pole typu Type (tj. Type[] types = new Type[0]) pro získání konstruktoru, který nepřijímá žádné parametry.

modifiers
ParameterModifier[]

Pole ParameterModifier objektů představující atributy přidružené k odpovídajícímu prvku v types poli. Výchozí pořadač tento parametr nezpracuje.

Návraty

Objekt ConstructorInfo představující konstruktor, který odpovídá zadaným požadavkům, pokud je nalezen; v opačném případě . null

Atributy

Výjimky

types je null.

nebo

Jedním z prvků je typesnull.

types je multidimenzionální.

nebo

modifiers je multidimenzionální.

nebo

types a modifiers nemají stejnou délku.

Poznámky

I když výchozí pořadač nezpracovává ParameterModifier ( modifiers parametr), můžete použít abstraktní System.Reflection.Binder třídu k zápisu vlastního pořadače, který zpracovává modifiers. ParameterModifier se používá pouze při volání přes COM interop a jsou zpracovávány pouze parametry předané odkazem.

Pokud přesná shoda neexistuje, binder pokusí se provést převod typů parametrů zadaných v types poli, aby bylo možné vybrat shodu. Pokud se nepodaří binder vybrat shodu, null vrátí se.

BindingFlags Následující příznaky filtru lze použít k definování konstruktorů, které mají být zahrnuty do vyhledávání:

  • Abyste získali vrácení, je nutné zadat buď BindingFlags.Instance nebo BindingFlags.Static.

  • Zadejte BindingFlags.Public , aby se do hledání zahrnuly veřejné konstruktory.

  • Zadejte BindingFlags.NonPublic , aby do vyhledávání byly zahrnuty neveřejné konstruktory (tj. soukromé, interní a chráněné konstruktory).

Další informace naleznete na System.Reflection.BindingFlags.

Tato metoda implementuje GetConstructor.

Platí pro

Viz také