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.
Note
Ограничения доступа игнорируются для полностью доверенного кода. То есть к частным конструкторам, методам, полям и свойствам можно обращаться и вызывать с помощью отражения всякий раз, когда код полностью доверяется.
См. также раздел
Применяется к
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 определяющий набор свойств и обеспечивающий привязку, приведение типов аргументов и вызов элементов с помощью отражения. В противном bindernullслучае используется 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 что вызывающий объект имеет разрешение на доступ и что параметры имеют правильный номер, порядок и тип.
Ограничения доступа игнорируются для полностью доверенного кода. То есть к частным конструкторам, методам, полям и свойствам можно обращаться и вызывать с помощью отражения всякий раз, когда код полностью доверяется.