Module.ResolveField 方法

定義

傳回中繼資料語彙基元所識別的欄位。

多載

ResolveField(Int32)

傳回指定之中繼資料語彙基元所識別的欄位。

ResolveField(Int32, Type[], Type[])

以指定之泛型型別參數所定義的內容,傳回指定之中繼資料語彙基元所識別的欄位。

ResolveField(Int32)

來源:
Module.cs
來源:
Module.cs
來源:
Module.cs

傳回指定之中繼資料語彙基元所識別的欄位。

public:
 System::Reflection::FieldInfo ^ ResolveField(int metadataToken);
public System.Reflection.FieldInfo? ResolveField (int metadataToken);
public System.Reflection.FieldInfo ResolveField (int metadataToken);
member this.ResolveField : int -> System.Reflection.FieldInfo
Public Function ResolveField (metadataToken As Integer) As FieldInfo

參數

metadataToken
Int32

識別模組內欄位的中繼資料語彙基元。

傳回

FieldInfo 物件,表示指定之中繼資料語彙基元所識別的欄位。

例外狀況

metadataToken 在目前模組範圍中不是欄位的語彙基元。

-或-

metadataToken 可識別欄位,而此欄位的父代 TypeSpec 具有包含項目型別 var (泛型型別的型別參數) 或 mvar (泛型方法的型別參數) 的簽章。

metadataToken 在目前模組的範圍中是無效的語彙基元。

備註

若要解析中繼資料權杖,識別父 TypeSpec 系具有包含專案類型 ELEMENT_TYPE_VARELEMENT_TYPE_MVAR 之簽章的欄位,請使用 ResolveField(Int32, Type[], Type[]) 方法多載,這可讓您提供必要的內容。 也就是說,當您解析欄位的中繼資料權杖時,該欄位相依于泛型型別參數和/或標記內嵌的泛型方法,您必須使用多載,讓您提供這些類型參數。

注意

您可以在 Common Language Infrastructure (CLI) 檔中找到中繼資料權杖的相關資訊,特別是「分割區 II:元資料定義和語意」。 如需詳細資訊,請參閱 ECMA 335 Common Language Infrastructure (CLI)

針對使用泛型內容 (示範權杖解析的程式碼,也就是泛型型別和/或標記內嵌的泛型方法泛型型別參數,) 請參閱 ResolveMethod(Int32, Type[], Type[]) 方法。

適用於

ResolveField(Int32, Type[], Type[])

來源:
Module.cs
來源:
Module.cs
來源:
Module.cs

以指定之泛型型別參數所定義的內容,傳回指定之中繼資料語彙基元所識別的欄位。

public:
 virtual System::Reflection::FieldInfo ^ ResolveField(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
public:
 System::Reflection::FieldInfo ^ ResolveField(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
public virtual System.Reflection.FieldInfo? ResolveField (int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public virtual System.Reflection.FieldInfo ResolveField (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
public System.Reflection.FieldInfo ResolveField (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
abstract member ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
override this.ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
member this.ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
Public Overridable Function ResolveField (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As FieldInfo
Public Function ResolveField (metadataToken As Integer, genericTypeArguments As Type(), genericMethodArguments As Type()) As FieldInfo

參數

metadataToken
Int32

識別模組內欄位的中繼資料語彙基元。

genericTypeArguments
Type[]

Type 物件的陣列,表示語彙基元在範圍中之型別的泛型型別引數,如果該型別不是泛型,則為 null

genericMethodArguments
Type[]

Type 物件的陣列,表示語彙基元在範圍中之方法的泛型型別引數,如果該方法不是泛型,則為 null

傳回

FieldInfo 物件,表示指定之中繼資料語彙基元所識別的欄位。

例外狀況

metadataToken 在目前模組範圍中不是欄位的語彙基元。

-或-

metadataToken 可識別欄位,而此欄位的父代 TypeSpec 具有包含項目型別 var (泛型型別的型別參數) 或 mvar (泛型方法的型別參數),且未提供 genericTypeArgumentsgenericMethodArguments 其一或兩者的必要泛型型別引數。

metadataToken 在目前模組的範圍中是無效的語彙基元。

備註

Type.GetGenericArguments在 範圍中的 型 metadataToken 別上使用 方法,以取得 的泛型型別引數 genericTypeArguments 陣列。 在 MethodInfo.GetGenericArguments 範圍中的 方法上使用 方法 metadataToken ,以取得 的泛型型別引數 genericTypeArguments 陣列。 即使不需要這些引數,也一定安全。

注意

您可以在 Common Language Infrastructure (CLI) 檔中找到中繼資料權杖的相關資訊,特別是「分割區 II:元資料定義和語意」。 如需詳細資訊,請參閱 ECMA 335 Common Language Infrastructure (CLI)

針對使用泛型內容 (示範權杖解析的程式碼,也就是泛型型別和/或標記內嵌的泛型方法泛型型別參數,) 請參閱 ResolveMethod(Int32, Type[], Type[]) 方法。

適用於