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.InstanceBindingFlags.Staticwartość lub .Określ,
BindingFlags.Publicaby uwzględnić publiczne konstruktory w wyszukiwaniu.Określ,
BindingFlags.NonPublicaby 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ę .