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
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Type.IsValueType, propriété

Obtient une valeur indiquant si le Type est un type valeur.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
public bool IsValueType { get; }

Valeur de propriété

Type : System.Boolean
true si Type est un type valeur ; sinon, false.

Implémentations

_Type.IsValueType

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);
            }
        }
    }
}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

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.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,