Type.IsValueType Propiedad

Definición

Obtiene un valor que indica si el objeto Type es un tipo de valor.

public:
 property bool IsValueType { bool get(); };
public bool IsValueType { get; }
member this.IsValueType : bool
Public ReadOnly Property IsValueType As Boolean

Valor de propiedad

Es true si Type es un tipo de valor; en caso contrario, es false.

Implementaciones

Ejemplos

En el ejemplo siguiente se crea una variable de tipo MyEnum, se comprueba la IsValueType propiedad y se muestra el resultado.

using namespace System;

// Declare an enum type.
public enum class NumEnum
{
   One, Two
};

int main()
{
    bool flag = false;
    NumEnum testEnum = NumEnum::One;
      
    // Get the type of testEnum.
    Type^ t = testEnum.GetType();
      
    // Get the IsValueType property of the testEnum
    // variable.
    flag = t->IsValueType;
    Console::WriteLine("{0} is a value type: {1}", t->FullName, flag);
}
using System;

// Declare an enum type.
enum NumEnum { One, Two }

public class Example
{

    public static void Main(string []args)
    {
        bool flag = false;
        NumEnum testEnum = NumEnum.One;
        // Get the type of testEnum.
        Type t = testEnum.GetType();
        // Get the IsValueType property of the testEnum variable.
        flag = t.IsValueType;
        Console.WriteLine("{0} is a value type: {1}", t.FullName, flag);
    }
}
// The example displays the following output:
//        NumEnum is a value type: True
// Declare an enum type.
type NumEnum = One = 1 | Two = 2

let testEnum = NumEnum.One
// Get the type of testEnum.
let t = testEnum.GetType()
// Get the IsValueType property of the testEnum variable.
let flag = t.IsValueType
printfn $"{t.FullName} is a value type: {flag}"
// The example displays the following output:
//        NumEnum is a value type: True
' Declare an enum type.
Enum NumEnum
    One
    Two
End Enum
    
Public Class Example

    Public Shared Sub Main()
        Dim flag As Boolean = False
        Dim testEnum As NumEnum = NumEnum.One
        ' Get the type of myTestEnum.
        Dim t As Type = testEnum.GetType()
        ' Get the IsValueType property of the myTestEnum variable.
         flag = t.IsValueType()
         Console.WriteLine("{0} is a value type: {1}", t.FullName, flag)
     End Sub 
 End Class  
' The example displays the following output:
'       NumEnum is a value type: True

Comentarios

Los tipos de valor son tipos que se representan como secuencias de bits; los tipos de valor no son clases ni interfaces. Los tipos de valor se conocen como "structs" en algunos lenguajes de programación. Las enumeraciones son un caso especial de tipos de valor.

Esta propiedad devuelve false para la ValueType clase , porque ValueType no es un tipo de valor en sí. es la clase base para todos los tipos de valor y, por tanto, cualquier tipo de valor se puede asignar a él. Esto no sería posible si ValueType se tratase de un tipo de valor. Los tipos de valor se boxan cuando se asignan a un campo de tipo ValueType.

Esta propiedad devuelve true para enumeraciones, pero no para el Enum propio tipo. Para ver un ejemplo que muestra este comportamiento, vea IsEnum.

Esta propiedad es de sólo lectura.

Se aplica a

Consulte también