ConstructorBuilder.Invoke Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывает конструктор, динамически отражаемый данным экземпляром.
Перегрузки
Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Динамически вызывает конструктор, представленный этим экземпляром для данного объекта, передавая указанные параметры и учитывая ограничения данного модуля привязки. |
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Динамически вызывает конструктор, отраженный этим экземпляром с указанными аргументами, с учетом ограничений заданного параметра |
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
что вызывающий объект имеет разрешение на доступ и что параметры имеют правильный номер, порядок и тип.
Ограничения доступа игнорируются для полностью доверенного кода. То есть к закрытым конструкторам, методам, полям и свойствам можно обращаться и вызывать с помощью отражения всякий раз, когда код является полностью доверенным.