Type.IsValueType Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu označující, zda Type je typ hodnoty.
public:
property bool IsValueType { bool get(); };
public bool IsValueType { get; }
member this.IsValueType : bool
Public ReadOnly Property IsValueType As Boolean
Hodnota vlastnosti
true
Type pokud je typ hodnoty, false
v opačném případě .
Implementuje
Příklady
Následující příklad vytvoří proměnnou typu MyEnum
, zkontroluje IsValueType
vlastnost a zobrazí výsledek.
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
Poznámky
Typy hodnot jsou typy, které jsou reprezentovány jako sekvence bitů; Typy hodnot nejsou třídy ani rozhraní. Typy hodnot se v některých programovacích jazycích označují jako "struktury". Výčty jsou zvláštním případem hodnotových typů.
Tato vlastnost vrací false
pro ValueType třídu , protože ValueType není samotným typem hodnoty. Je to základní třída pro všechny hodnotové typy, a proto se k ní dá přiřadit libovolný typ hodnoty. To by nebylo možné, pokud ValueType by sám o sobě byl typ hodnoty. Typy hodnot jsou v rámečku, když jsou přiřazeny k poli typu ValueType.
Tato vlastnost vrací true
pro výčty, ale ne pro Enum samotný typ. Příklad, který toto chování demonstruje, najdete v tématu IsEnum.
Tato vlastnost je jen ke čtení.