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 类型系统提供的对象。

返回

由最后一个元素描述的字段的 TypedReferenceAflds

属性

例外

targetfldsnull.

-或-

的元素为 fldsnull.

数组 flds 没有元素。

-或-

flds元素不是RuntimeFieldInfo对象。

-或-

元素IsInitOnlyIsStatic or flds 属性。true

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

-或-

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

注解

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

注释

如果使用标志授予ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess调用方,并且非公共成员的授予集仅限于调用方授予集或子集,则此方法可用于访问非公共成员。 (请参阅 反射的安全注意事项

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

适用于