Поделиться через


ConstructorBuilder.Invoke Метод

Определение

Вызывает конструктор, динамически отражаемый данным экземпляром.

Перегрузки

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

Динамически вызывает конструктор, представленный этим экземпляром для данного объекта, передавая указанные параметры и учитывая ограничения данного модуля привязки.

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

Динамически вызывает конструктор, отраженный этим экземпляром с указанными аргументами, с учетом ограничений заданного параметра Binder.

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

Исходный код:
ConstructorBuilder.cs

Динамически вызывает конструктор, представленный этим экземпляром для данного объекта, передавая указанные параметры и учитывая ограничения данного модуля привязки.

public:
 override System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override 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 Overrides Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object

Параметры

invokeAttr
BindingFlags

Это должен быть одноразрядный флаг из BindingFlags, например InvokeMethod, NonPublic и т. д.

binder
Binder

Объект, позволяющий осуществлять привязку, приведение типов аргументов, вызов элементов, а также поиск объектов MemberInfo с помощью отражения. Если указан модуль привязки null, используется модуль привязки по умолчанию. См. раздел Binder.

parameters
Object[]

Список аргументов. Это массив аргументов с тем же числом, порядком и типом, что и параметры вызываемого конструктора. Если параметров нет, должно быть указано значение null.

culture
CultureInfo

Экземпляр объекта CultureInfo , используемого для управления приведением типов. Если параметр имеет значение NULL, для текущего потока используется CultureInfo. (Например, необходимо преобразовывать объект String, представляющий 1000, в значение Double, поскольку в разных языках и региональных параметрах 1000 представляется по-разному.)

Возвращаемое значение

Значение, возвращаемое вызванным конструктором.

Исключения

В настоящее время этот метод не поддерживается. Конструктор можно получить с помощью GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) и вызвать Invoke(BindingFlags, Binder, Object[], CultureInfo) для возвращенного объекта ConstructorInfo.

Комментарии

Если конструктор не имеет параметров, значение parameters параметра должно быть nullравно . В противном случае число, тип и порядок элементов в parameters массиве должны совпадать с числом, типом и порядком параметров конструктора, отражаемым этим экземпляром.

Например, если конструктор, отраженный в этом экземпляре, объявлен как открытый класс, принимающие две строки, то parameters параметр должен быть массивом длиной Object 2.

Примечание

Ограничения доступа игнорируются для полностью доверенного кода. То есть к закрытым конструкторам, методам, полям и свойствам можно обращаться и вызывать с помощью отражения всякий раз, когда код является полностью доверенным.

См. также раздел

Применяется к

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

Исходный код:
ConstructorBuilder.cs

Динамически вызывает конструктор, отраженный этим экземпляром с указанными аргументами, с учетом ограничений заданного параметра Binder.

public:
 override System::Object ^ Invoke(System::Object ^ obj, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke (object? obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : obj * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Overrides Function Invoke (obj As Object, invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object

Параметры

obj
Object

Объект, который необходимо повторно инициализировать.

invokeAttr
BindingFlags

Одно из значений BindingFlags, указывающее нужный тип привязки.

binder
Binder

Параметр Binder, который определяет набор свойств и обеспечивает привязку, приведение типов аргументов и вызов членов с помощью отражения. Если binder имеет значение null, то используется Binder.DefaultBinding.

parameters
Object[]

Список аргументов. Это массив аргументов с тем же числом, порядком и типом, что и параметры вызываемого конструктора. Если параметров нет, он должен быть пустой ссылкой (Nothing в Visual Basic).

culture
CultureInfo

Параметр CultureInfo, используемый для управления приведением типов. Если параметр имеет значение NULL, для текущего потока используется CultureInfo.

Возвращаемое значение

Экземпляр класса, связанный с конструктором.

Исключения

В настоящее время этот метод не поддерживается. Конструктор можно получить с помощью GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) и вызвать Invoke(BindingFlags, Binder, Object[], CultureInfo) для возвращенного объекта ConstructorInfo.

Комментарии

Число, тип и порядок элементов в массиве параметров должны совпадать с числом, типом и порядком параметров конструктора, отражаемым этим экземпляром.

Перед вызовом конструктора убедитесь, Invoke что вызывающий объект имеет разрешение на доступ и что параметры имеют правильный номер, порядок и тип.

Ограничения доступа игнорируются для полностью доверенного кода. То есть к закрытым конструкторам, методам, полям и свойствам можно обращаться и вызывать с помощью отражения всякий раз, когда код является полностью доверенным.

См. также раздел

Применяется к