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

Если поиск выполнен удачно, возвращается объект ConstructorInfo, представляющий конструктор, который соответствует указанным требованиям; в противном случае возвращается значение null.

Исключения

types имеет значение null.

-или- Один из элементов в types имеет значение null.

Массив types является многомерным.

-или- Массив modifiers является многомерным.

-или- types и modifiers имеют разную длину.

Комментарии

Хотя связыватель по умолчанию не обрабатывается 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.

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

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