Type.GetConstructorImpl Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
При переопределении в производном классе ищет конструктор, параметры которого соответствуют указанным типам аргументов и модификаторам, используя для этого заданные ограничения привязки и соглашение о вызовах.
protected:
abstract System::Reflection::ConstructorInfo ^ GetConstructorImpl(System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, System::Reflection::CallingConventions callConvention, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
protected abstract System.Reflection.ConstructorInfo? GetConstructorImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[]? modifiers);
protected abstract System.Reflection.ConstructorInfo GetConstructorImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[] modifiers);
abstract member GetConstructorImpl : System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.ConstructorInfo
Protected MustOverride Function GetConstructorImpl (bindingAttr As BindingFlags, binder As Binder, callConvention As CallingConventions, types As Type(), modifiers As ParameterModifier()) As ConstructorInfo
Параметры
- bindingAttr
- BindingFlags
Побитовое сочетание значений перечисления, указывающих способ проведения поиска.
-или-
Default для возврата null.
- binder
- Binder
Объект, определяющий набор свойств и разрешающий привязку, что может включать выбор перегруженных методов, приведение типов аргументов и вызов члена с помощью отражения.
-или-
Пустая ссылка (Nothing в Visual Basic) для использования свойства DefaultBinder.
- callConvention
- CallingConventions
Объект, определяющий набор применяемых правил, касающихся порядка и расположения аргументов, способа передачи возвращаемого значения, регистров, используемых для аргументов, и очистки стека.
- types
- Type[]
Массив объектов Type, предоставляющий число, порядок и тип параметров, извлекаемых конструктором.
-или- Пустой массив объектов типа Type (то есть Type[] types = new Type[0]), если требуется получить конструктор, который не имеет параметров.
- modifiers
- ParameterModifier[]
Массив объектов ParameterModifier, представляющих атрибуты, связанные с соответствующим элементом в массиве types. Связыватель по умолчанию не обрабатывает этот параметр.
Возвращаемое значение
Если поиск выполнен удачно, возвращается объект ConstructorInfo, представляющий конструктор, который соответствует указанным требованиям; в противном случае возвращается значение null.
Исключения
types имеет значение null.
-или-
Один из элементов в types имеет значение null.
Массив types является многомерным.
-или-
Массив modifiers является многомерным.
-или-
types и modifiers имеют разную длину.
Текущий тип — TypeBuilder или GenericTypeParameterBuilder.
Комментарии
Хотя связыватель по умолчанию не обрабатывается ParameterModifier ( modifiers параметр), можно использовать абстрактный System.Reflection.Binder класс для написания пользовательского связывателя, который обрабатывает modifiers . ParameterModifier используется только при вызове через COM-взаимодействие, и обрабатываются только параметры, передаваемые по ссылке.
Если точное соответствие не существует, binder будет предпринята попытка привести типы параметров, заданные в types массиве, для выбора совпадения. Если binder не удается выбрать соответствие, null возвращается значение.
BindingFlagsДля определения конструкторов, включаемых в поиск, можно использовать следующие флаги фильтра:
Необходимо указать или,
BindingFlags.InstanceBindingFlags.Staticчтобы получить возвращаемое значение.Укажите
BindingFlags.Public, чтобы включить в поиск открытые конструкторы.Укажите
BindingFlags.NonPublicдля включения в поиск неоткрытых конструкторов (т. е. закрытых, внутренних и защищенных конструкторов).
Дополнительные сведения см. в разделе System.Reflection.BindingFlags.
Этот метод реализует GetConstructor.