Type.IsValueType Propriedade

Definição

Recebe um valor que indica se o Type é um 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 Propriedade

true se o Type for um tipo de valor; caso contrário, false.

Implementações

Exemplos

O exemplo seguinte cria uma variável do tipo MyEnum, verifica a IsValueType propriedade e apresenta o 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

Observações

Os tipos de valor são tipos representados como sequências de bits; Os tipos de valor não são classes ou interfaces. Os tipos de valor são referidos como "structs" em algumas linguagens de programação. Os enums são um caso especial de tipos de valor.

Esta propriedade retorna false para a ValueType classe, porque ValueType não é um tipo de valor em si. É a classe base para todos os tipos de valor e, portanto, qualquer tipo de valor pode ser-lhe atribuído. Isto não seria possível se ValueType ele próprio fosse um tipo de valor. Os tipos de valor são encaixados quando são atribuídos a um campo de tipo ValueType.

Esta propriedade retorna true para enumerações, mas não para o Enum tipo em si. Para um exemplo que demonstre este comportamento, veja IsEnum.

Esta propriedade é somente leitura.

Aplica-se a

Ver também