Type.GetConstructorImpl Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 multidimenzionální.
nebo
modifiers je multidimenzionální.
nebo
types a modifiers nemají stejnou délku.
Aktuální typ je nebo TypeBuilderGenericTypeParameterBuilder.
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.InstanceneboBindingFlags.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.