Type.GetPropertyImpl 方法

定义

当在派生类中重写时,使用指定的绑定约束搜索其参数与指定的参数类型和修饰符匹配的指定属性。

protected:
 abstract System::Reflection::PropertyInfo ^ GetPropertyImpl(System::String ^ name, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, Type ^ returnType, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
protected abstract System.Reflection.PropertyInfo? GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, Type? returnType, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
protected abstract System.Reflection.PropertyInfo GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, Type returnType, Type[] types, System.Reflection.ParameterModifier[] modifiers);
abstract member GetPropertyImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * Type * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.PropertyInfo
Protected MustOverride Function GetPropertyImpl (name As String, bindingAttr As BindingFlags, binder As Binder, returnType As Type, types As Type(), modifiers As ParameterModifier()) As PropertyInfo

参数

name
String

包含要获取的属性名的字符串。

bindingAttr
BindingFlags

枚举值的按位组合,这些值指定如何进行搜索。

  • 或 - 若为 Default,则返回 null
binder
Binder

一个对象,该对象定义一组属性并启用绑定,而绑定可能涉及选择重载成员、强制自变量类型和通过反射调用成员。

  • 或 - 要使用 Nothing 的空引用(在 Visual Basic 中为 DefaultBinder)。
returnType
Type

属性的返回类型。

types
Type[]

一个 Type 对象数组,表示要获取的索引属性的参数的数目、顺序和类型。

  • 或 - 获取未被索引的属性的 Type 类型的空数组(即 Type[] types = new Type[0])。
modifiers
ParameterModifier[]

ParameterModifier 对象的数组,表示与 types 数组中的相应元素关联的特性。 默认的联编程序不处理此参数。

返回

PropertyInfo

表示符合指定需求的属性的对象(如果找到的话);否则为 null

例外

找到多个具有指定名称的属性且属性与指定绑定约束匹配。

name 上声明的默认值为 null

  • 或 - types 上声明的默认值为 null

  • 或 - types 的其中一个元素为 null

types 是多维的。

  • 或 - modifiers 是多维的。

  • 或 - typesmodifiers 的长度不相同。

注解

尽管默认联编程序不 (参数) ,但可以使用抽象类编写处理 的 ParameterModifier modifiers System.Reflection.Binder 自定义联编程序 modifiersParameterModifier 仅在通过 COM 互操作调用 时使用,并且仅处理通过引用传递的参数。

以下 BindingFlags 筛选器标志可用于定义要包括在搜索中的属性:

  • 必须指定 或 BindingFlags.Instance BindingFlags.Static 才能获取返回。

  • 指定 BindingFlags.Public 以在搜索中包括公共属性。

  • 指定 以在搜索 (包括非公共属性,即私有、) BindingFlags.NonPublic 和受保护属性。

  • 指定 BindingFlags.FlattenHierarchy 以包括 public 层次结构 protected 中的静态成员;不包括继承类 private 中的静态成员。

以下 BindingFlags 修饰符标志可用于更改搜索的工作方式:

  • BindingFlags.IgnoreCase (如果忽略 name 的大小写)。

  • BindingFlags.DeclaredOnly 如果只搜索在 上声明的属性 Type ,则不搜索直接继承的属性。

有关更多信息,请参见System.Reflection.BindingFlags

适用于

另请参阅