Udostępnij za pośrednictwem


Module.ResolveType Metoda

Definicja

Zwraca typ zidentyfikowany przez token metadanych.

Przeciążenia

ResolveType(Int32)

Zwraca typ zidentyfikowany przez określony token metadanych.

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

Zwraca typ zidentyfikowany przez określony token metadanych w kontekście zdefiniowanym przez określone parametry typu ogólnego.

ResolveType(Int32)

Źródło:
Module.cs
Źródło:
Module.cs
Źródło:
Module.cs

Zwraca typ zidentyfikowany przez określony token metadanych.

public:
 Type ^ ResolveType(int metadataToken);
public Type ResolveType (int metadataToken);
member this.ResolveType : int -> Type
Public Function ResolveType (metadataToken As Integer) As Type

Parametry

metadataToken
Int32

Token metadanych, który identyfikuje typ w module.

Zwraca

Type Obiekt reprezentujący typ identyfikowany przez określony token metadanych.

Wyjątki

metadataToken nie jest tokenem typu w zakresie bieżącego modułu.

-lub-

metadataToken TypeSpec to, którego podpis zawiera typ var elementu (parametr typu typu) lub mvar (parametr typu metody ogólnej).

metadataToken nie jest prawidłowym tokenem w zakresie bieżącego modułu.

Uwagi

Aby rozwiązać problem z tokenem metadanych dla obiektu, którego TypeSpec podpis zawiera ELEMENT_TYPE_VAR lub ELEMENT_TYPE_MVAR, użyj ResolveType(Int32, Type[], Type[]) przeciążenia metody, co pozwala na podanie niezbędnego kontekstu. Oznacza to, że podczas rozpoznawania tokenu metadanych dla typu, który zależy od ogólnych parametrów typu typu ogólnego i/lub metody ogólnej, w której jest osadzony token, należy użyć przeciążenia, które umożliwia podanie tych parametrów typu.

Uwaga

Informacje o tokenach metadanych można znaleźć w dokumentacji infrastruktury języka wspólnego (CLI), zwłaszcza "Partition II: Metadata Definition and Semantics". Aby uzyskać więcej informacji, zobacz ECMA 335 Common Language Infrastructure (CLI).

Dotyczy

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

Źródło:
Module.cs
Źródło:
Module.cs
Źródło:
Module.cs

Zwraca typ zidentyfikowany przez określony token metadanych w kontekście zdefiniowanym przez określone parametry typu ogólnego.

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

Parametry

metadataToken
Int32

Token metadanych, który identyfikuje typ w module.

genericTypeArguments
Type[]

Tablica Type obiektów reprezentujących argumenty typu ogólnego typu, w którym token znajduje się w zakresie, lub null jeśli ten typ nie jest ogólny.

genericMethodArguments
Type[]

Tablica Type obiektów reprezentujących argumenty typu ogólnego metody, w której token znajduje się w zakresie, lub null jeśli ta metoda nie jest ogólna.

Zwraca

Type Obiekt reprezentujący typ identyfikowany przez określony token metadanych.

Wyjątki

metadataToken nie jest tokenem typu w zakresie bieżącego modułu.

-lub-

metadataToken TypeSpec to, którego podpis zawiera typ elementu var (parametr typu typu) lub mvar (parametr typu metody ogólnej), a niezbędne argumenty typu ogólnego nie zostały podane zarówno dla metody , jak i genericTypeArgumentsgenericMethodArguments.

metadataToken nie jest prawidłowym tokenem w zakresie bieżącego modułu.

Uwagi

Type.GetGenericArguments Użyj metody w typie, w którym metadataToken znajduje się zakres, aby uzyskać tablicę argumentów typu ogólnego dla genericTypeArgumentselementu . MethodInfo.GetGenericArguments Użyj metody w metodzie , w której metadataToken znajduje się zakres, aby uzyskać tablicę argumentów typu ogólnego dla genericTypeArgumentsklasy . Zawsze można bezpiecznie podać te argumenty, nawet jeśli nie są potrzebne.

Uwaga

Informacje o tokenach metadanych można znaleźć w dokumentacji infrastruktury języka wspólnego (CLI), zwłaszcza "Partition II: Metadata Definition and Semantics". Aby uzyskać więcej informacji, zobacz ECMA 335 Common Language Infrastructure (CLI).

W przypadku kodu, który demonstruje rozpoznawanie tokenów przy użyciu kontekstu ogólnego (czyli ogólnych parametrów typu typu ogólnego i/lub metody ogólnej, w której jest osadzony token) zobacz metodę ResolveMethod(Int32, Type[], Type[]) .

Dotyczy