Type.GetConstructorImpl Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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 flerdimensionellt.
-eller-
modifiers är flerdimensionellt.
-eller-
types och modifiers har inte samma längd.
Den aktuella typen är en TypeBuilder eller GenericTypeParameterBuilder.
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.InstanceellerBindingFlags.Staticför att få en retur.Ange
BindingFlags.Publicatt offentliga konstruktorer ska inkluderas i sökningen.Ange
BindingFlags.NonPublicatt 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.