信息
您所需的主题如下所示。但此主题未包含在此库中。

Type.GetPropertyImpl 方法

2013/12/13

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

Namespace:  System
程序集:  mscorlib(位于 mscorlib.dll 中)

protected abstract PropertyInfo GetPropertyImpl(
	string name,
	BindingFlags bindingAttr,
	Binder binder,
	Type returnType,
	Type[] types,
	ParameterModifier[] modifiers
)

参数

name
类型: System.String
包含要获取的属性名的 String
bindingAttr
类型: System.Reflection.BindingFlags
一个位掩码,由一个或多个指定搜索执行方式的 BindingFlags 组成。
- 或 -
零,以返回 null
binder
类型: System.Reflection.Binder
一个 Binder 对象,该对象定义一组属性并启用绑定,而绑定可能涉及选择重载成员、强制参数类型和通过反射调用成员。
- 或 -
空引用(Visual Basic 为 Nothing),要使用 DefaultBinder
returnType
类型: System.Type
属性的返回类型。
types
类型: System.Type []
一个 Type 对象数组,表示要获取的索引属性的参数的数目、顺序和类型。
- 或 -
获取未被索引的属性的 Type 类型的空数组(即 Type[] types = new Type[0])。
modifiers
类型: System.Reflection.ParameterModifier []
ParameterModifier 对象数组,表示与 types 数组中的相应元素关联的属性。默认的联编程序不处理此参数。

返回值

类型: System.Reflection.PropertyInfo
表示符合指定要求的属性的 PropertyInfo 对象(如果找到的话);否则为 null

异常条件
AmbiguousMatchException

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

ArgumentNullException

namenull

- 或 -

typesnull

- 或 -

types 中的一个元素为 null

ArgumentException

types 是多维的。

- 或 -

modifiers 是多维的。

- 或 -

typesmodifiers 的长度不同。

NotSupportedException

当前类型是动态类型。

虽然默认联编程序不处理 ParameterModifiermodifiers 参数),但您可以使用抽象 System.Reflection.Binder 类编写确实处理 modifiers 的自定义联编程序。ParameterModifier 仅当通过 COM 互操作进行调用时才使用,而且仅处理通过引用传递的参数。

types 数组和 modifiers 数组的长度相同。types 数组中指定的参数可具有下列在 modifiers 数组中指定的特性:pdIn、pdOut、pdLcid、pdRetval、pdOptional 和 pdHasDefault,它们分别表示 [In]、[Out]、[lcid]、[retval]、[optional] 和一个指定参数是否有默认值的值。参数的关联特性存储在元数据中并且用于交互操作。

可以使用下列 BindingFlags 筛选标志定义包含在搜索中的属性:

  • 为了获取返回值,必须指定 BindingFlags.InstanceBindingFlags.Static

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

  • 指定 BindingFlags.NonPublic 可在搜索中包含非公共属性(即私有属性和受保护的属性)。

  • 指定 BindingFlags.FlattenHierarchy 以便沿层次结构向上包括 publicprotected 静态成员;不包括继承类中的 private 静态成员。

下列 BindingFlags 修饰符标志可用于更改搜索的执行方式:

  • BindingFlags.IgnoreCase,表示忽略 name 的大小写。

  • BindingFlags.DeclaredOnly,表示仅搜索 Type 上声明的属性,而不搜索被简单继承的属性。

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

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示: