英語で読む

次の方法で共有


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

定義

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

C#
public override System.Reflection.MethodBase? ResolveMethod(int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
C#
public override System.Reflection.MethodBase ResolveMethod(int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);

パラメーター

metadataToken
Int32

メソッドまたはモジュール内のコンス トラクターを識別するメタデータ トークン。

genericTypeArguments
Type[]

トークンがスコープ内にある型のジェネリック型引数を表す Type オブジェクトの配列。その型がジェネリックではない場合は null

genericMethodArguments
Type[]

トークンがスコープ内にあるメソッドのジェネリック型引数を表す Type オブジェクトの配列。そのメソッドがジェネリックではない場合は null

戻り値

指定したメタデータ トークンで識別されるメソッドを表す MethodBase オブジェクト。

例外

metadataToken は、現在のモジュールのスコープに含まれるメソッドまたはコンストラクターのトークンではありません。

- または -

metadataToken は、要素型 var (ジェネリック型の型パラメーター) または mvar (ジェネリック メソッドの型パラメーター) を含むシグネチャを持つ MethodSpec ですが、必要なジェネリック型の引数が genericTypeArgumentsgenericMethodArguments の両方またはいずれかに提供されていません。

metadataToken は、現在のモジュールのスコープで有効なトークンではありません。

注釈

Type.GetGenericArguments ジェネリック型 metadataToken 引数の配列を取得するには、 がスコープ内にある 型で メソッドを使用します genericTypeArguments。 の MethodInfo.GetGenericArguments ジェネリック型引数の配列を取得するには、 がスコープ内にある メソッドで メソッド metadataToken を使用します genericMethodArguments。 必要ない場合でも、これらの引数を指定しても常に安全です。

注意

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

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

適用対象

製品 バージョン
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)