Type.IsValueType Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar ett värde som anger om Type är en värdetyp.
public:
property bool IsValueType { bool get(); };
public bool IsValueType { get; }
member this.IsValueType : bool
Public ReadOnly Property IsValueType As Boolean
Egenskapsvärde
true
Type om är en värdetyp, annars . false
Implementeringar
Exempel
I följande exempel skapas en variabel av typen MyEnum, söker efter IsValueType egenskapen och visar resultatet.
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
Kommentarer
Värdetyper är typer som representeras som sekvenser av bitar. värdetyper är inte klasser eller gränssnitt. Värdetyper kallas "structs" på vissa programmeringsspråk. Uppräkningar är ett specialfall med värdetyper.
Den här egenskapen returnerar false för ValueType klassen eftersom ValueType den inte är en egen värdetyp. Det är basklassen för alla värdetyper och därför kan alla värdetyper tilldelas till den. Detta skulle inte vara möjligt om ValueType det i sig var en värdetyp. Värdetyper boxas när de tilldelas till ett fält av typen ValueType.
Den här egenskapen returnerar true för uppräkningar, men inte för Enum själva typen. Ett exempel som visar det här beteendet finns i IsEnum.
Den här egenskapen är skrivskyddad.