Type.GetConstructorImpl Methode

Definitie

Wanneer deze wordt overschreven in een afgeleide klasse, zoekt u naar een constructor waarvan de parameters overeenkomen met de opgegeven argumenttypen en modifiers, met behulp van de opgegeven bindingsbeperkingen en de opgegeven aanroepconventie.

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

Parameters

bindingAttr
BindingFlags

Een bitsgewijze combinatie van de opsommingswaarden die aangeven hoe de zoekopdracht wordt uitgevoerd.

– of –

Default om terug te keren null.

binder
Binder

Een object dat een set eigenschappen definieert en binding mogelijk maakt, waarbij een overbelaste methode, dwang van argumenttypen en het aanroepen van een lid via weerspiegeling kan worden geselecteerd.

– of –

Een null-verwijzing (Nothing in Visual Basic) om de DefaultBinder te gebruiken.

callConvention
CallingConventions

Het object dat de set regels specificeert die moeten worden gebruikt met betrekking tot de volgorde en indeling van argumenten, hoe de retourwaarde wordt doorgegeven, welke registers worden gebruikt voor argumenten en de stack wordt opgeschoond.

types
Type[]

Een matrix met Type objecten die het getal, de volgorde en het type van de parameters vertegenwoordigen die de constructor moet ophalen.

– of –

Een lege matrix van het type Type (dat wil gezegd, Type[] types = new Type[0]) om een constructor op te halen die geen parameters gebruikt.

modifiers
ParameterModifier[]

Een matrix met ParameterModifier objecten die de kenmerken vertegenwoordigen die zijn gekoppeld aan het bijbehorende element in de types matrix. Deze parameter wordt niet verwerkt door de standaard binder.

Retouren

Een ConstructorInfo object dat de constructor vertegenwoordigt die overeenkomt met de opgegeven vereisten, indien gevonden; nullanders.

Kenmerken

Uitzonderingen

types is null.

– of –

Een van de elementen in types is null.

types is multidimensionaal.

– of –

modifiers is multidimensionaal.

– of –

types en modifiers niet dezelfde lengte hebben.

Opmerkingen

Hoewel de standaardbinder ParameterModifier (het modifiers-argument) niet verwerkt, kunt u de abstracte klasse System.Reflection.Binder gebruiken om een aangepaste binder te schrijven die modifiers wel verwerkt. ParameterModifier wordt alleen gebruikt bij het aanroepen via COM-interop en alleen parameters die worden doorgegeven door verwijzing, worden verwerkt.

Als er geen exacte overeenkomst bestaat, probeert de binder parametertypen die in de types matrix zijn opgegeven, te dwingen om een overeenkomst te selecteren. Als de binder overeenkomst niet kan worden geselecteerd, null wordt deze geretourneerd.

De volgende BindingFlags filtervlagmen kunnen worden gebruikt om te definiëren welke constructors moeten worden opgenomen in de zoekopdracht:

  • U moet of BindingFlags.Instance of BindingFlags.Static opgeven om een retour te krijgen.

  • Geef BindingFlags.Public op dat openbare constructors moeten worden opgenomen in de zoekopdracht.

  • Geef op BindingFlags.NonPublic dat er niet-openbare constructors (dat wil gezegd privé-, interne en beveiligde constructors) moeten worden opgenomen in de zoekopdracht.

Zie System.Reflection.BindingFlags voor meer informatie.

Met deze methode wordt geïmplementeerd GetConstructor.

Van toepassing op

Zie ook