次の方法で共有


ModuleBuilder.ResolveField(Int32, Type[], Type[]) メソッド

定義

指定したジェネリック型パラメーターで定義されたコンテキストの、指定したメタデータ トークンで識別されるフィールドを返します。

public:
 override System::Reflection::FieldInfo ^ ResolveField(int metadataToken, cli::array <Type ^> ^ genericTypeArguments, cli::array <Type ^> ^ genericMethodArguments);
public override System.Reflection.FieldInfo? ResolveField (int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
public override System.Reflection.FieldInfo ResolveField (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
override this.ResolveField : int * Type[] * Type[] -> System.Reflection.FieldInfo
Public Overrides 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。 これらの引数は、必要ない場合でも、常に安全に指定できます。

注意

メタデータ トークンに関する情報は、共通言語インフラストラクチャ (CLI) のドキュメント(特にパーティション II: メタデータ定義とセマンティクス)にあります。 詳細については、「 ECMA 335 共通言語インフラストラクチャ (CLI)」を参照してください。

ジェネリック コンテキスト (つまり、ジェネリック型のジェネリック型パラメーター、またはトークンが埋め込まれているジェネリック メソッド) を使用したトークン解決を示すコードについては、 メソッドを Module.ResolveMethod(Int32, Type[], Type[]) 参照してください。

適用対象