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.Instance
BindingFlags.Static
чтобы получить возвращаемое значение.Укажите
BindingFlags.Public
, чтобы включить в поиск открытые конструкторы.Укажите
BindingFlags.NonPublic
для включения в поиск неоткрытых конструкторов (т. е. закрытых, внутренних и защищенных конструкторов).
Дополнительные сведения см. в разделе System.Reflection.BindingFlags.
Этот метод реализует GetConstructor.