Type.GetConstructorImpl Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
W przypadku przesłonięć w klasie pochodnej program wyszukuje konstruktora, którego parametry pasują do określonych typów argumentów i modyfikatorów przy użyciu określonych ograniczeń powiązania i określonej konwencji wywoływania.
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);
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);
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
Bitowa kombinacja wartości wyliczenia, które określają sposób przeprowadzania wyszukiwania.
-lub-
Default , aby zwrócić null
.
- binder
- Binder
Obiekt, który określa zestaw właściwości i umożliwia powiązanie, które może obejmować wybór metody przeciążonej, wymuszanie typów argumentu i wywołanie elementu członkowskiego przez odbicie.
-lub-
Odwołanie o wartości null Nothing
(w Visual Basic), aby użyć . DefaultBinder
- callConvention
- CallingConventions
Obiekt określający zestaw reguł do użycia w odniesieniu do kolejności i układu argumentów, sposobu, w jaki jest przekazywana wartość zwracana, jakie rejestry są używane dla argumentów, a stos jest czyszczony.
- types
- Type[]
Tablica Type obiektów reprezentujących liczbę, kolejność i typ parametrów do uzyskania przez konstruktor.
-lub- Pusta tablica typu Type (czyli typy [] = nowy typ[0]) do uzyskania konstruktora, który nie przyjmuje żadnych parametrów.
- modifiers
- ParameterModifier[]
Tablica ParameterModifier obiektów reprezentujących atrybuty skojarzone z odpowiednim elementem w types
tablicy. Domyślny konsolidator nie przetwarza tego parametru.
Zwraca
Obiekt ConstructorInfo reprezentujący konstruktor, który spełnia określone wymagania, jeśli został znaleziony; w przeciwnym razie null
.
Wyjątki
Parametr types
jest wielowymiarowy.
-lub-
Parametr modifiers
jest wielowymiarowy.
-lub-
types
i modifiers
nie mają tej samej długości.
Bieżący typ to TypeBuilder lub GenericTypeParameterBuilder .
Uwagi
Mimo że domyślny binder nie przetwarza (parametru ), można użyć klasy abstrakcyjnej do napisania niestandardowego ParameterModifier modifiers
klasy System.Reflection.Binder binder, który przetwarza klasę modifiers
. ParameterModifier
Jest używany tylko podczas wywoływania za pośrednictwem międzyopedycy com i tylko parametry, które są przekazywane przez odwołanie są obsługiwane.
Jeśli dokładne dopasowanie nie istnieje, podejmie próbę wywłaszczania typów parametrów określonych w tablicy w celu binder
types
wybrania dopasowania. Jeśli nie binder
można wybrać dopasowania, jest null
zwracana.
Następujące BindingFlags flagi filtru mogą służyć do definiowania konstruktorów do dołączyć do wyszukiwania:
Aby uzyskać zwrot, należy określić
BindingFlags.Instance
BindingFlags.Static
wartość lub .Określ,
BindingFlags.Public
aby uwzględnić publiczne konstruktory w wyszukiwaniu.Określ,
BindingFlags.NonPublic
aby uwzględnić konstruktory niepublicznie (czyli konstruktory prywatne, wewnętrzne i chronione) w wyszukiwaniu.
Aby uzyskać więcej informacji, zobacz System.Reflection.BindingFlags.
Ta metoda implementuje GetConstructor metodę .