ConstructorInfo.Invoke Metoda

Definicja

Wywołuje konstruktor odzwierciedlone przez to wystąpienie.

Przeciążenia

Nazwa Opis
Invoke(Object[])

Wywołuje konstruktor odzwierciedlone przez wystąpienie, które ma określone parametry, podając wartości domyślne parametrów, które nie są często używane.

Invoke(BindingFlags, Binder, Object[], CultureInfo)

W przypadku implementacji w klasie pochodnej wywołuje konstruktor odzwierciedlony przez to ConstructorInfo z określonymi argumentami, zgodnie z ograniczeniami określonego Binder.

Invoke(Object[])

Źródło:
ConstructorInfo.cs
Źródło:
ConstructorInfo.cs
Ź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 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óre są zgodne z liczbą, kolejnością i typem (w ramach ograniczeń domyślnego powiązania) parametrów tego konstruktora. Jeśli ten konstruktor nie przyjmuje żadnych parametrów, użyj tablicy z zerowymi elementami lub null, 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 odwołania 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

Klasa jest abstrakcyjna.

— lub —

Konstruktor jest inicjatorem klasy.

Konstruktor jest prywatny lub chroniony, a obiekt wywołujący nie ma MemberAccesswartości .

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 dostęp do prywatnych konstruktorów, metod, pól i właściwości można uzyskać i wywołać przy użyciu odbicia zawsze, gdy kod jest w pełni zaufany.

Note

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. Tej metody nie można zastąpić.

Note

Ta metoda może służyć do uzyskiwania dostępu do elementów członkowskich innych niż publiczne, jeśli obiekt wywołujący otrzymał ReflectionPermission flagę ReflectionPermissionFlag.RestrictedMemberAccess , a zestaw dotacji niepubliki członków jest ograniczony do zestawu dotacji obiektu wywołującego lub jego podzbioru. (Zobacz Zagadnienia dotyczące zabezpieczeń dotyczące odbicia).

Dotyczy

Invoke(BindingFlags, Binder, Object[], CultureInfo)

Źródło:
ConstructorInfo.cs
Źródło:
ConstructorInfo.cs
Źródło:
ConstructorInfo.cs
Źródło:
ConstructorInfo.cs
Źródło:
ConstructorInfo.cs

W przypadku implementacji w klasie pochodnej wywołuje konstruktor odzwierciedlony przez to ConstructorInfo z określonymi argumentami, zgodnie z ograniczeniami określonego Binder.

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 umożliwia powiązanie, przymus typów argumentów i wywołanie elementów członkowskich przy użyciu odbicia. Jeśli binder parametr to null, Binder.DefaultBinding jest używany.

parameters
Object[]

Tablica typu Object używana do dopasowania liczby, kolejności i typu parametrów tego konstruktora w ramach ograniczeń .binder Jeśli ten konstruktor nie wymaga parametrów, przekaż tablicę z zero elementów, 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 odwołania 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

Element CultureInfo służący do nadzorowania przymusu typów. Jeśli jest nullto wartość , CultureInfo zostanie użyty 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 w ramach ograniczeń .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.

Klasa jest abstrakcyjna.

— lub —

Konstruktor jest inicjatorem klasy.

Konstruktor jest prywatny lub chroniony, a obiekt wywołujący nie ma MemberAccesswartości .

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 gwarantuje, 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 dostęp do prywatnych konstruktorów, metod, pól i właściwości można uzyskać i wywołać przy użyciu odbicia zawsze, gdy kod jest w pełni zaufany.

Note

Aby utworzyć wystąpienie typu wartości, które nie ma konstruktorów wystąpień, użyj CreateInstance metody .

Note

Ta metoda może służyć do uzyskiwania dostępu do elementów członkowskich innych niż publiczne, jeśli obiekt wywołujący otrzymał ReflectionPermission flagę ReflectionPermissionFlag.RestrictedMemberAccess , a zestaw dotacji niepubliki członków jest ograniczony do zestawu dotacji obiektu wywołującego lub jego podzbioru. (Zobacz Zabezpieczenia dotyczące odbicia). Aby korzystać z tej funkcji, aplikacja powinna być docelowa .NET Framework 3.5 lub nowsza.

Zobacz też

Dotyczy