Type.GetConstructorImpl Metod

Definition

När den åsidosättas i en härledd klass söker efter en konstruktor vars parametrar matchar de angivna argumenttyperna och modifierarna med hjälp av de angivna bindningsbegränsningarna och den angivna anropskonventionen.

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

Parametrar

bindingAttr
BindingFlags

En bitvis kombination av uppräkningsvärdena som anger hur sökningen ska utföras.

-eller-

Default för att returnera null.

binder
Binder

Ett objekt som definierar en uppsättning egenskaper och möjliggör bindning, vilket kan innebära val av en överbelastad metod, tvång av argumenttyper och anrop av en medlem genom reflektion.

-eller-

En null-referens (Nothing i Visual Basic) för att använda DefaultBinder.

callConvention
CallingConventions

Objektet som anger vilken uppsättning regler som ska användas för argumentens ordning och layout, hur returvärdet skickas, vilka register som används för argument och stacken rensas.

types
Type[]

En matris med Type objekt som representerar antalet, ordningen och typen av parametrar som konstruktorn ska hämta.

-eller-

En tom matris av typen Type (d.v.s. Type[] types = new Type[0]) för att hämta en konstruktor som inte tar några parametrar.

modifiers
ParameterModifier[]

En matris med ParameterModifier objekt som representerar attributen som är associerade med motsvarande element i matrisen types . Standardbindaren bearbetar inte den här parametern.

Returer

Ett ConstructorInfo objekt som representerar konstruktorn som matchar de angivna kraven, om det hittas, annars null.

Attribut

Undantag

types är null.

-eller-

Ett av elementen i types är null.

types är flerdimensionellt.

-eller-

modifiers är flerdimensionellt.

-eller-

types och modifiers har inte samma längd.

Kommentarer

Även om standardbindaren inte bearbetar ParameterModifier (parametern modifiers) kan du använda den abstrakta klassen System.Reflection.Binder för att skriva en anpassad bindare som bearbetar modifiers. ParameterModifier används endast vid anrop via COM-interop, och endast parametrar som skickas av referens hanteras.

Om det inte finns binder någon exakt matchning försöker den tvinga de parametertyper som anges i matrisen types att välja en matchning. Om det binder inte går att välja en matchning null returneras den.

Följande BindingFlags filterflaggor kan användas för att definiera vilka konstruktorer som ska ingå i sökningen:

  • Du måste ange antingen BindingFlags.Instance eller BindingFlags.Static för att få en retur.

  • Ange BindingFlags.Public att offentliga konstruktorer ska inkluderas i sökningen.

  • Ange BindingFlags.NonPublic att icke-offentliga konstruktorer (dvs. privata, interna och skyddade konstruktorer) ska inkluderas i sökningen.

Mer information finns i System.Reflection.BindingFlags.

Den här metoden implementerar GetConstructor.

Gäller för

Se även