TypedReference.MakeTypedReference(Object, FieldInfo[]) 方法

定义

重要

此 API 不符合 CLS。

为由指定对象和字段说明列表标识的字段生成 TypedReference

public:
 static TypedReference MakeTypedReference(System::Object ^ target, cli::array <System::Reflection::FieldInfo ^> ^ flds);
public static TypedReference MakeTypedReference (object target, System.Reflection.FieldInfo[] flds);
[System.CLSCompliant(false)]
public static TypedReference MakeTypedReference (object target, System.Reflection.FieldInfo[] flds);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public static TypedReference MakeTypedReference (object target, System.Reflection.FieldInfo[] flds);
static member MakeTypedReference : obj * System.Reflection.FieldInfo[] -> TypedReference
[<System.CLSCompliant(false)>]
static member MakeTypedReference : obj * System.Reflection.FieldInfo[] -> TypedReference
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
static member MakeTypedReference : obj * System.Reflection.FieldInfo[] -> TypedReference
Public Shared Function MakeTypedReference (target As Object, flds As FieldInfo()) As TypedReference

参数

target
Object

包含由 flds 的第一个元素说明的字段的对象。

flds
FieldInfo[]

字段说明列表,其中每个元素说明的字段均包含了由后续元素说明的字段。 每个说明的字段都必须是值类型。 字段说明必须是类型系统所提供的 RuntimeFieldInfo 对象。

返回

TypedReference

flds 的最后一个元素说明的字段的 TypedReference

属性

例外

targetfldsnull

  • 或 - flds 的元素为 null

flds 数组不包含任何元素。

  • 或 - flds 的元素不是一个 RuntimeFieldInfo 对象。

  • 或 - flds 的元素的属性 IsInitOnlyIsStatic 的值为 true

参数 target 不包含 flds 的第一个元素描述的字段,或者 flds 的元素描述的字段不包含在 flds 的后续元素描述的字段中。

  • 或 - flds 的元素描述的字段不是值类型。

注解

该方法MakeTypedReference返回对某些终端字段的类型化引用,其中target参数包含第一个元素flds描述的字段,第一个元素描述的字段包含第二个元素flds``flds描述的字段,依此类加,直到到达终端字段。

备注

从 .NET Framework 2.0 Service Pack 1 开始,如果调用方已使用ReflectionPermissionFlag.RestrictedMemberAccess标志授予ReflectionPermission调用方,并且非公共成员的授予集仅限于调用方授予集或其子集,则此方法可用于访问非公共成员。 (请参阅 反射的安全注意事项。)

若要使用此功能,应用程序应面向 .NET Framework 3.5 或更高版本。

适用于