Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.
1 sur 4 ont trouvé cela utile - Évaluez ce sujet

Type, classe

Représente les déclarations de types : types classe, types interface, types tableau, types valeur, types énumération, paramètres de type, définitions de type générique et types génériques construits ouverts ou fermés.

Espace de noms : System
Assembly : mscorlib (dans mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.None)] 
public abstract class Type : MemberInfo, _Type, IReflect
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.None) */ 
public abstract class Type extends MemberInfo implements _Type, IReflect
SerializableAttribute 
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.None) 
public abstract class Type extends MemberInfo implements _Type, IReflect

Type est la racine de la fonctionnalité System.Reflection et représente le principal moyen d'accéder aux métadonnées. Utilisez les membres de Type pour obtenir les informations concernant une déclaration de type, tel que les constructeurs, méthodes, champs, propriétés et événements d'une classe, ainsi que le module et l'assembly dans lesquels la classe est déployée.

Un objet Type qui représente un type est unique ; en d'autres termes, deux références d'objet Type font référence au même objet si et seulement s'ils représentent le même type. Cela permet de comparer des objets Type à l'aide de l'égalité des références.

Sans ReflectionPermission, le code ne peut accéder qu'aux membres publics des assemblys chargés. Ceci comprend notamment l'accès sans restriction à Object.GetType, l'accès aux types exportés publics par l'intermédiaire de Type.GetType et l'accès à GetTypeFromHandle. Certaines propriétés de Type, telles que FullName et Attributes, sont accessibles sans ReflectionPermission.

Type est une classe de base abstraite qui permet des implémentations multiples. Le système fournira toujours la classe dérivée RuntimeType. Dans la réflexion, toutes les classes commençant par le mot Runtime sont créées une seule fois par objet dans le système et prennent en charge les opérations de comparaison.

RemarqueRemarque

Dans des scénarios multithread, ne verrouillez pas les objets Type pour synchroniser l'accès à des données static. Un autre code, sur lequel vous n'avez aucun contrôle, pourrait également verrouiller votre type de classe. Cela pourrait provoquer un blocage. Il est préférable de synchroniser l'accès à des données statiques en verrouillant un objet static privé.

Cette classe est thread-safe ; plusieurs threads peuvent procéder à une lecture simultanée à partir d'une instance de ce type. Une instance de Type peut représenter l'un des types suivants :

  • Classes

  • Types valeur

  • Tableaux

  • Interfaces

  • Pointeurs

  • Énumérations

  • Types génériques construits et définitions des types génériques

  • Arguments et paramètres de type des types génériques construits, définitions des types génériques et définitions des méthodes génériques

Une référence à l'objet Type associé à un type peut être obtenue des différentes manières indiquées ci-dessous :

  • La méthode Object.GetType retourne un objet Type qui représente le type d'une instance.

  • Les méthodes GetType statiques retournent un objet Type qui représente un type spécifié par son nom qualifié complet.

  • Les méthodes Module.GetTypes, Module.GetType et Module.FindTypes retournent des objets Type qui représentent les types définis dans un module. La première méthode peut être utilisée pour obtenir un tableau d'objets Type pour tous les types publics et privés définis dans un module. (Vous pouvez obtenir une instance de Module par l'intermédiaire des méthodes Assembly.GetModule ou Assembly.GetModules ou par l'intermédiaire de la propriété Type.Module.)

  • La méthode FindInterfaces retourne une liste filtrée de types interface pris en charge par un type.

  • La méthode GetElementType retourne un objet Type qui représente l'élément.

  • Les méthodes GetInterfaces et GetInterface retournent des objets Type représentant les types interface pris en charge par un type.

  • La méthode GetTypeArray retourne un tableau d'objets Type représentant les types spécifiés par un ensemble arbitraire d'objets. Les objets sont spécifiés avec un tableau de type Object.

  • Les méthodes GetTypeFromProgID et GetTypeFromCLSID sont fournies pour l'interopérabilité COM. Elles retournent un objet Type qui représente le type spécifié par ProgID ou CLSID.

  • La méthode GetTypeFromHandle est fournie pour l'interopérabilité. Elle retourne un objet Type qui représente le type spécifié par un handle de classe.

  • L'opérateur typeof C#, l'opérateur typeid C++ et l'opérateur GetType Visual Basic obtiennent l'objet Type d'un type.

  • La méthode MakeGenericType retourne un objet Type qui représente un type générique construit, lequel est un type construit ouvert si sa propriété ContainsGenericParameters retourne true ; sinon, c'est un type construit fermé. Un type générique peut être instancié uniquement s'il est fermé.

  • Les méthodes MakeArrayType, MakePointerType et MakeByRefType retournent les objets Type qui représentent, respectivement, un tableau d'un type spécifié, un pointeur vers un type spécifié et le type d'un paramètre de référence (ref en C#, ByRef en Visual Basic).

RemarqueRemarque

Une classe dérivée peut accéder à des membres protégés des classes de base du code appelant. L'accès est également autorisé aux membres d'assembly de l'assembly du code appelant. La règle est la suivante : si vous êtes autorisé à accéder à du code à liaison anticipée, vous êtes également autorisé à accéder à du code à liaison tardive.

RemarqueRemarque

Les interfaces qui développent d'autres interfaces n'héritent pas des méthodes définies dans les interfaces étendues.

Remarques à l'attention des héritiers Lorsque vous héritez de Type, vous devez substituer les membres suivants : GUID, InvokeMember(String,BindingFlags,Binder,Object,Object[],ParameterModifier[],CultureInfo,String[]), Module, Assembly, TypeHandle, FullName, Namespace, AssemblyQualifiedName, BaseType, GetConstructorImpl, GetConstructors(BindingFlags), GetMethodImpl, GetMethods(BindingFlags), GetField(String,BindingFlags), GetFields(BindingFlags), GetInterface(String,Boolean), GetInterfaces, GetEvent(String,BindingFlags), GetEvents(BindingFlags), GetPropertyImpl, GetProperties(BindingFlags), GetNestedType(String,BindingFlags), GetNestedTypes(BindingFlags), GetAttributeFlagsImpl, IsArrayImpl, IsByRefImpl, IsPointerImpl, IsPrimitiveImpl, IsCOMObjectImpl, GetElementType, HasElementTypeImpl, UnderlyingSystemType, MemberInfo.Name, MemberInfo.IsDefined, MemberInfo.GetCustomAttributes et GetCustomAttributes.

Ce type est thread-safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

Afficher:
© 2014 Microsoft. Tous droits réservés.