Type.IsValueType Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.