Type.GetConstructorImpl Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Ha egy származtatott osztályban felül van bírálva, olyan konstruktort keres, amelynek paraméterei megfelelnek a megadott argumentumtípusoknak és módosítóknak a megadott kötési megkötések és a megadott hívási konvenciók használatával.
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
Paraméterek
- bindingAttr
- BindingFlags
A számbavételi értékek bitenkénti kombinációja, amely meghatározza a keresés menetét.
-vagy-
Default visszatéréshez null.
- binder
- Binder
Olyan objektum, amely tulajdonságokat határoz meg, és engedélyezi a kötést, amely magában foglalhatja egy túlterhelt metódus kiválasztását, az argumentumtípusok kényszerítését és a tag meghívását a tükröződésen keresztül.
-vagy-
Nullhivatkozás (Nothing Visual Basic) a DefaultBinder használatához.
- callConvention
- CallingConventions
Az az objektum, amely meghatározza az argumentumok sorrendjére és elrendezésére, a visszatérési érték átadásának módjára, az argumentumokhoz használt regiszterekre vonatkozó szabályokat, és a vermet megtisztítja.
- types
- Type[]
Objektumtömb Type , amely a konstruktor lekéréséhez szükséges paraméterek számát, sorrendjét és típusát jelöli.
-vagy-
A típus Type üres tömbje (azaz Type[] types = new Type[0]) egy olyan konstruktor lekéréséhez, amely nem vesz fel paramétereket.
- modifiers
- ParameterModifier[]
A tömb megfelelő eleméhez ParameterModifier társított attribútumokat képviselő objektumtömbtypes. Az alapértelmezett iratgyűjtő nem dolgozza fel ezt a paramétert.
Válaszok
A ConstructorInfo konstruktort képviselő objektum, amely megfelel a megadott követelményeknek, ha megtalálható; ellenkező esetben null.
- Attribútumok
Kivételek
types többdimenziós.
-vagy-
modifiers többdimenziós.
-vagy-
types és modifiers nem azonos hosszúságúak.
Az aktuális típus a TypeBuilder vagy GenericTypeParameterBuilder.
Megjegyzések
Bár az alapértelmezett kötő nem dolgozza fel a ParameterModifier (a modifiers paramétert), az absztrakt System.Reflection.Binder osztály használatával írhat egy egyedi kötőt, amely feldolgozza a modifiers.
ParameterModifier csak com-interop-on keresztüli híváskor használatos, és csak a hivatkozás által átadott paramétereket kezeli a rendszer.
Ha nem létezik pontos egyezés, a binder rendszer megkísérli kényszeríteni a tömbben megadott paramétertípusokat egyezés types kiválasztásához. Ha a binder függvény nem tud kiválasztani egyezést, akkor null a függvény visszaadja.
A következő BindingFlags szűrőjelölők segítségével határozhatja meg, hogy mely konstruktorokat vegye fel a keresésbe:
A visszatéréshez meg kell adnia vagy a
BindingFlags.Instancevagy aBindingFlags.Static.Adja meg
BindingFlags.Public, hogy a nyilvános konstruktorok is szerepeljenek a keresésben.Adja meg
BindingFlags.NonPublic, hogy nem nyilvános konstruktorokat (azaz privát, belső és védett konstruktorokat) is belefoglaljon a keresésbe.
További információért lásd a System.Reflection.BindingFlags jelű részt.
Ez a metódus implementálja a GetConstructor.