英語で読む

次の方法で共有


Module.ResolveType メソッド

定義

メタデータ トークンで識別される型を返します。

オーバーロード

ResolveType(Int32)

指定したメタデータ トークンで識別される型を返します。

ResolveType(Int32, Type[], Type[])

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

ResolveType(Int32)

ソース:
Module.cs
ソース:
Module.cs
ソース:
Module.cs

指定したメタデータ トークンで識別される型を返します。

C#
public Type ResolveType (int metadataToken);

パラメーター

metadataToken
Int32

モジュール内の型を識別するメタデータ トークン。

戻り値

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

例外

metadataToken は、現在のモジュールのスコープに含まれる型のトークンではありません。

- または -

metadataToken は、要素型 var (ジェネリック型の型パラメーター) または mvar (ジェネリック メソッドの型パラメーター) を含むシグネチャが存在する TypeSpec です。

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

注釈

シグネチャに または ELEMENT_TYPE_MVARが含まれる ELEMENT_TYPE_VARTypeSpecメタデータ トークンを解決するには、 メソッドのオーバーロードをResolveType(Int32, Type[], Type[])使用します。これにより、必要なコンテキストを指定できます。 つまり、ジェネリック型のジェネリック型パラメーターや、トークンが埋め込まれているジェネリック メソッドに依存する型のメタデータ トークンを解決する場合は、これらの型パラメーターを指定できるオーバーロードを使用する必要があります。

注意

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

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 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, 2.1

ResolveType(Int32, Type[], Type[])

ソース:
Module.cs
ソース:
Module.cs
ソース:
Module.cs

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

C#
public virtual Type ResolveType (int metadataToken, Type[]? genericTypeArguments, Type[]? genericMethodArguments);
C#
public virtual Type ResolveType (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);
C#
public Type ResolveType (int metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments);

パラメーター

metadataToken
Int32

モジュール内の型を識別するメタデータ トークン。

genericTypeArguments
Type[]

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

genericMethodArguments
Type[]

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

戻り値

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

例外

metadataToken は、現在のモジュールのスコープに含まれる型のトークンではありません。

- または -

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

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

注釈

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

注意

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

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

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 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, 2.1