TypedReference.MakeTypedReference(Object, FieldInfo[]) TypedReference.MakeTypedReference(Object, FieldInfo[]) TypedReference.MakeTypedReference(Object, FieldInfo[]) TypedReference.MakeTypedReference(Object, FieldInfo[]) Method

Definition

Important

This API is not CLS-compliant.

Makes a TypedReference for a field identified by a specified object and list of field descriptions.

public:
 static TypedReference MakeTypedReference(System::Object ^ target, cli::array <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
Public Shared Function MakeTypedReference (target As Object, flds As FieldInfo()) As TypedReference

Parameters

target
Object Object Object Object

An object that contains the field described by the first element of flds.

flds
FieldInfo[]

A list of field descriptions where each element describes a field that contains the field described by the succeeding element. Each described field must be a value type. The field descriptions must be RuntimeFieldInfo objects supplied by the type system.

Returns

A TypedReference for the field described by the last element of flds.

Exceptions

target or flds is null.

-or-

An element of flds is null.

The flds array has no elements.

-or-

An element of flds is not a RuntimeFieldInfo object.

-or-

The IsInitOnly or IsStatic property of an element of flds is true.

Parameter target does not contain the field described by the first element of flds, or an element of flds describes a field that is not contained in the field described by the succeeding element of flds.

-or-

The field described by an element of flds is not a value type.

Remarks

The MakeTypedReference method returns a typed reference to some terminal field, where the target parameter contains the field described by the first element of flds, the field described by the first element of flds contains the field described by the second element of flds, and so on until the terminal field is reached.

Note

Starting with the .NET Framework 2.0 Service Pack 1, this method can be used to access non-public members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the non-public members is restricted to the caller's grant set, or a subset thereof. (See Security Considerations for Reflection.)

To use this functionality, your application should target the .NET Framework 3.5 or later.

Security

SecurityCriticalAttribute
Requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Applies to