Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
Type.IsValueType, propriété
Obtient une valeur indiquant si le Type est un type valeur.
Assembly : mscorlib (dans mscorlib.dll)
Les types valeur sont des types qui sont représentés comme des séquences de bits ; ce ne sont pas des classes ni des interfaces. Certains langages de programmation utilisent le terme « structs » pour désigner les types valeur. Les valeurs Enum sont des types valeur particuliers.
Cette propriété retourne false pour la classe ValueType, car ValueType n'est pas lui-même un type valeur. C'est la classe de base pour tous les types valeur, et par conséquent, tout type valeur peut lui être assigné. Cela ne serait pas possible si ValueType lui-même était un type valeur. Les types valeur sont boxed lorsqu'ils sont assignés à un champ de type ValueType.
Cette propriété retourne true pour des énumérations, mais pas pour le type lui-même Enum. Pour obtenir un exemple qui illustre ce comportement, consultez IsEnum.
Cette propriété est en lecture seule.
L'exemple suivant crée une variable de type MyEnum, vérifie la propriété IsValueType et affiche le résultat.
using System; namespace SystemType { public class MyClass { // Declare an enum type. enum MyEnum { One, Two } public static void Main(string []args) { try { bool myBool = false; MyEnum myTestEnum = MyEnum.One; // Get the type of myTestEnum. Type myType = myTestEnum.GetType(); // Get the IsValueType property of the myTestEnum // variable. myBool = myType.IsValueType; Console.WriteLine("\nIs {0} a value type? {1}.", myType.FullName, myBool.ToString()); } catch (Exception e) { Console.WriteLine("\nAn exception occurred: {0}", e.Message); } } } }
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.