Type.IsValueType Propiedad

Definición

Obtiene un valor que indica si 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

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

Implementaciones

Ejemplos

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

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, se puede asignar a él cualquier tipo de valor. Esto no sería posible si ValueType se tratase de un tipo de valor. Los tipos de valor se muestran conversión boxed cuando se asignan a un campo de tipo ValueType.

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

Esta propiedad es de solo lectura.

Se aplica a

Consulte también