Partager via


TypeName Structure

Définition

Remplace System.Type de telle sorte que les informations de type signalées par d’autres API n’aient pas de dépendance sur le CLR (Common Language Runtime). Cette structure est utilisée comme valeur par des propriétés telles que UnderlyingType et Type.

.NET Lors de la programmation avec .NET, ce type est masqué et vous devez utiliser le type System.Type . Toutes les API Windows Runtime qui utilisent un TypeName selon les signatures IDL brutes utilisent plutôt des valeurs System.Type lorsque vous utilisez l’API avec du code .NET.

C++/WinRT Vous pouvez utiliser la fonction d’assistance winrt::xaml_typename<T>() pour créer un objet TypeName . Pour plus d’informations, consultez modèle de fonction winrt::xaml_typename et un exemple de code.

public value class TypeName
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
struct TypeName
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public struct Type
Public Structure Type
Héritage
TypeName
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Remarques

Projection et membres de TypeName

Si vous utilisez des extensions de composant Visual C++ (C++/CX), Name et Kind sont des propriétés en lecture-écriture, et non des champs. Cette définition de la structure est fournie par platform.winmd, dans le cadre du comportement de l’extension.

Si vous programmez avec C++ à l’aide de la bibliothèque de modèles Windows Runtime (WRL), les champs Nom et Type sont.

Champs

Kind

Valeur TypeKind contenant des instructions de base concernant l’origine du type.

Name

Nom du type. En fonction de la valeur Kind (voir ci-dessous), Name peut contenir l’un des éléments suivants.

  • Si Kind a la valeur TypeKind::Custom, le contenu de Name n’est pas spécifié et dépend de la projection du langage (dans le cas de C#, la valeur est un nom complet).
  • Si Kind a la valeur TypeKind::Metadata, Name contient le nom de classe Windows Runtime, par exemple « Windows.UI.Xaml.Controls.Button ».
  • Si Kind a la valeur TypeKind::P rimitive, Name contient un nom primitif, tel que « Int32 ».

S’applique à

Voir aussi