Type.IsValueType Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém 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 da propriedade
true
se o Type for um tipo de valor; caso contrário, false
.
Implementações
Exemplos
O exemplo a seguir cria uma variável do tipo MyEnum
, verifica a IsValueType
propriedade e exibe o 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
Comentários
Tipos de valor são tipos que são representados como sequências de bits; tipos de valor não são classes ou interfaces. Os tipos de valor são chamados de "structs" em algumas linguagens de programação. Enumerações são um caso especial de tipos de valor.
Essa 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 atribuído a ele. Isso não seria possível se ValueType fosse um tipo de valor. Os tipos de valor são encaixoados quando são atribuídos a um campo do tipo ValueType.
Essa propriedade retorna true
para enumerações, mas não para o Enum tipo em si. Para obter um exemplo que demonstre esse comportamento, consulte IsEnum.
Esta propriedade é somente para leitura.