ConstructorInfo.Invoke 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.
Wywołuje konstruktor odzwierciedlone przez to wystąpienie.
Przeciążenia
Invoke(Object[]) |
Wywołuje konstruktor odzwierciedlone przez wystąpienie, które ma określone parametry, podając wartości domyślne dla parametrów, które nie są często używane. |
Invoke(BindingFlags, Binder, Object[], CultureInfo) |
W przypadku implementacji w klasie pochodnej wywołuje konstruktor odzwierciedlany przez to |
Invoke(Object[])
- Źródło:
- ConstructorInfo.cs
- Źródło:
- ConstructorInfo.cs
- Źródło:
- ConstructorInfo.cs
Wywołuje konstruktor odzwierciedlone przez wystąpienie, które ma określone parametry, podając wartości domyślne dla parametrów, które nie są często używane.
public:
virtual System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public:
System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public virtual object Invoke (object[] parameters);
public object Invoke (object?[]? parameters);
public object Invoke (object[] parameters);
override this.Invoke : obj[] -> obj
Public Overridable Function Invoke (parameters As Object()) As Object
Public Function Invoke (parameters As Object()) As Object
Parametry
- parameters
- Object[]
Tablica wartości, która odpowiada liczbie, kolejności i typowi (pod ograniczeniami domyślnego powiązania) parametrów tego konstruktora. Jeśli ten konstruktor nie przyjmuje parametrów, użyj tablicy z elementami zerowymi lub null
, tak jak w parametrach Object[] = new Object[0]. Każdy obiekt w tej tablicy, który nie jest jawnie zainicjowany z wartością, będzie zawierać wartość domyślną dla tego typu obiektu. W przypadku elementów typu referencyjnego ta wartość to null
. W przypadku elementów typu wartości ta wartość to 0, 0,0 lub false
, w zależności od określonego typu elementu.
Zwraca
Wystąpienie klasy skojarzonej z konstruktorem.
Wyjątki
Konstruktor jest prywatny lub chroniony, a obiekt wywołujący nie ma MemberAccess.
Uwaga: na platformie .NET dla aplikacji ze Sklepu Windows lub przenośnej biblioteki klas przechwyć wyjątek klasy bazowej , MemberAccessExceptionzamiast tego.
Tablica parameters
nie zawiera wartości pasujących do typów akceptowanych przez ten konstruktor.
Wywoływany konstruktor zgłasza wyjątek.
Przekazano nieprawidłową liczbę parametrów.
TypedReferenceTworzenie typów , ArgIteratori RuntimeArgumentHandle nie jest obsługiwane.
Obiekt wywołujący nie ma niezbędnych uprawnień dostępu do kodu.
Uwagi
Liczba, typ i kolejność elementów w parameters
tablicy powinny być identyczne z liczbą, typem i kolejnością parametrów konstruktora odzwierciedlanego przez to wystąpienie. Przed wywołaniem konstruktora zapewnia, Invoke
że obiekt wywołujący ma uprawnienia dostępu i sprawdza, czy parametry są prawidłowe.
Ograniczenia dostępu są ignorowane dla w pełni zaufanego kodu. Oznacza to, że można uzyskiwać dostęp do prywatnych konstruktorów, metod, pól i właściwości przy użyciu odbicia za każdym razem, gdy kod jest w pełni zaufany.
Uwaga
Aby utworzyć wystąpienie typu wartości, które nie ma konstruktorów wystąpień, użyj CreateInstance metody .
Ta metoda jest wygodną metodą dla następującej przeciążonej wersji przy użyciu wartości domyślnych. Nie można zastąpić tej metody.
Uwaga
Począwszy od programu .NET Framework 2.0, ta metoda może służyć do uzyskiwania dostępu do niepublizowanych elementów członkowskich, jeśli obiekt wywołujący otrzymał ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess flagę, a zestaw dotacji niepublizowanych członków jest ograniczony do zestawu dotacji obiektu wywołującego lub jego podzbioru. (Zobacz Zagadnienia dotyczące zabezpieczeń do odbicia). Aby korzystać z tej funkcji, aplikacja powinna być docelowa dla programu .NET Framework 3.5 lub nowszego.
Dotyczy
Invoke(BindingFlags, Binder, Object[], CultureInfo)
- Źródło:
- ConstructorInfo.cs
- Źródło:
- ConstructorInfo.cs
- Źródło:
- ConstructorInfo.cs
W przypadku implementacji w klasie pochodnej wywołuje konstruktor odzwierciedlany przez to ConstructorInfo
z określonymi argumentami w ramach ograniczeń określonego Binder
elementu .
public:
abstract System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public abstract object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public abstract object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public MustOverride Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
Parametry
- invokeAttr
- BindingFlags
BindingFlags
Jedna z wartości określających typ powiązania.
- binder
- Binder
Element Binder
, który definiuje zestaw właściwości i włącza powiązanie, wymuszanie typów argumentów i wywołanie elementów członkowskich przy użyciu odbicia. Jeśli binder
jest to null
, Binder.DefaultBinding
jest używany.
- parameters
- Object[]
Tablica typu Object
używana do dopasowania liczby, kolejności i typu parametrów dla tego konstruktora pod ograniczeniami binder
. Jeśli ten konstruktor nie wymaga parametrów, przekaż tablicę z elementami zerowymi, tak jak w parametrach Object[] = new Object[0]. Każdy obiekt w tej tablicy, który nie jest jawnie zainicjowany z wartością, będzie zawierać wartość domyślną dla tego typu obiektu. W przypadku elementów typu referencyjnego ta wartość to null
. W przypadku elementów typu wartości ta wartość to 0, 0,0 lub false
, w zależności od określonego typu elementu.
- culture
- CultureInfo
Służy CultureInfo do zarządzania przymusem typów. Jeśli jest null
to wartość , CultureInfo jest używany element dla bieżącego wątku.
Zwraca
Wystąpienie klasy skojarzonej z konstruktorem.
Wyjątki
Tablica parameters
nie zawiera wartości pasujących do typów akceptowanych przez ten konstruktor pod ograniczeniami binder
.
Wywoływany konstruktor zgłasza wyjątek.
Przekazano nieprawidłową liczbę parametrów.
TypedReferenceTworzenie typów , ArgIteratori RuntimeArgumentHandle nie jest obsługiwane.
Obiekt wywołujący nie ma niezbędnych uprawnień dostępu do kodu.
Konstruktor jest prywatny lub chroniony, a obiekt wywołujący nie ma MemberAccess.
Uwagi
Liczba, typ i kolejność elementów w parameters
tablicy powinny być identyczne z liczbą, typem i kolejnością parametrów konstruktora odzwierciedlanego przez to wystąpienie.
Przed wywołaniem konstruktora zapewnia, Invoke
że obiekt wywołujący ma uprawnienia dostępu i że parametry mają prawidłową liczbę, kolejność i typ.
Ograniczenia dostępu są ignorowane dla w pełni zaufanego kodu. Oznacza to, że można uzyskiwać dostęp do prywatnych konstruktorów, metod, pól i właściwości przy użyciu odbicia za każdym razem, gdy kod jest w pełni zaufany.
Uwaga
Aby utworzyć wystąpienie typu wartości, które nie ma konstruktorów wystąpień, użyj CreateInstance metody .
Uwaga
Począwszy od programu .NET Framework 2.0, ta metoda może służyć do uzyskiwania dostępu do niepublizowanych elementów członkowskich, jeśli obiekt wywołujący otrzymał ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess flagę, a zestaw dotacji niepublizowanych członków jest ograniczony do zestawu dotacji obiektu wywołującego lub jego podzbioru. (Zobacz Zagadnienia dotyczące zabezpieczeń do odbicia). Aby korzystać z tej funkcji, aplikacja powinna być docelowa dla programu .NET Framework 3.5 lub nowszego.