Type.GetConstructorImpl Metoda

Definicja

Po zastąpieniu w klasie pochodnej wyszukuje konstruktor, którego parametry są zgodne z określonymi typami argumentów i modyfikatorami, 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);
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 określających sposób przeprowadzania wyszukiwania.

— lub —

Default aby zwrócić wartość null.

binder
Binder

Obiekt, który definiuje zestaw właściwości i włącza powiązanie, które może obejmować wybór metody przeciążonej, przymus typów argumentów i wywołanie elementu członkowskiego za pomocą odbicia.

— lub —

Odwołanie o wartości null (Nothing w Visual Basic), aby użyć DefaultBinder.

callConvention
CallingConventions

Obiekt, który określa zestaw reguł do użycia w odniesieniu do kolejności i układu argumentów, sposobu przekazywania wartości zwracanej, rejestrów używanych do argumentów, a stos jest czyszczony.

types
Type[]

Tablica Type obiektów reprezentujących liczbę, kolejność i typ parametrów konstruktora do pobrania.

— lub —

Pusta tablica typu Type (czyli typy Type[] = nowy typ[0]), aby uzyskać konstruktor, który nie przyjmuje parametrów.

modifiers
ParameterModifier[]

Tablica ParameterModifier obiektów reprezentujących atrybuty skojarzone z odpowiednim elementem w tablicy types . Domyślny binder nie przetwarza tego parametru.

Zwraca

Obiekt ConstructorInfo reprezentujący konstruktor, który odpowiada określonym wymaganiom, jeśli zostanie znaleziony; w przeciwnym razie null.

Wyjątki

Parametr types ma wartość null.

— lub —

Jednym z elementów w pliku types jest null.

types jest wielowymiarowa.

— lub —

modifiers jest wielowymiarowa.

— lub —

types i modifiers nie mają tej samej długości.

Uwagi

Mimo że domyślny binder nie przetwarza ParameterModifier (parametr modifiers), można użyć abstrakcyjnej klasy System.Reflection.Binder , aby napisać niestandardowy binder, który przetwarza modifiers. ParameterModifier jest używany tylko przy wywołaniach międzyoperacyjnych COM, a obsługiwane są tylko parametry przekazywane przez referencję.

Jeśli dokładne dopasowanie nie istnieje, binder próba przesunie typy parametrów określone w tablicy w types celu wybrania dopasowania. Jeśli element binder nie może wybrać dopasowania, null zostanie zwrócony.

Następujące BindingFlags flagi filtru mogą służyć do definiowania konstruktorów do uwzględnienia w wyszukiwaniu:

  • Musisz określić wartość BindingFlags.Instance lub BindingFlags.Static w celu uzyskania zwrotu.

  • Określ BindingFlags.Public , aby uwzględnić konstruktory publiczne w wyszukiwaniu.

  • Określ BindingFlags.NonPublic , aby uwzględnić konstruktory inne niż publiczne (czyli prywatne, wewnętrzne i chronione konstruktory) w wyszukiwaniu.

Aby uzyskać więcej informacji, zobacz System.Reflection.BindingFlags.

Ta metoda implementuje metodę GetConstructor.

Dotyczy

Zobacz też