展開 最小化

Type.IsValueType プロパティ

2013/12/12

Type が値型かどうかを示す値を取得します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public bool IsValueType { get; }

プロパティ値

型: System.Boolean
Type が値の型の場合は true。それ以外の場合は false

値型とは、ビットの連続で表される型であり、クラスやインターフェイスではありません。値型は、一部のプログラミング言語では "構造体" と呼ばれます。列挙型 (Enum) は、値型の特殊な例です。

このプロパティは ValueType クラスに対して false を返します。それは、ValueType が値型そのものではないからです。このクラスはすべての値型の基本クラスであるため、それにすべての値型を割り当てることができます。ValueType 自体が値型であるとしたら、割り当てることはできません。値型は、ValueType 型のフィールドに割り当てられると、ボックス化されます。

このプロパティは列挙体に対して true を返しますが、Enum 型そのものに対しては返しません。この動作の例については、「IsEnum」を参照してください。

このプロパティは読み取り専用です。

MyEnum の変数を作成し、IsValueType プロパティをチェックして、結果を表示する例を次に示します。

メモメモ:

この例を実行するには、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


using System;

public class Example
{
    // Declare an enum type.
    enum MyEnum
    {
        One,
        Two
    }
    public static void Demo(System.Windows.Controls.TextBlock outputBlock)
    {
        bool myBool = false;
        MyEnum myTestEnum = MyEnum.One;
        // Get the type of myTestEnum.
        Type myType = myTestEnum.GetType();
        // Get the IsValueType property of the myTestEnum 
        // variable.
        myBool = myType.IsValueType;
        outputBlock.Text += String.Format("Is {0} a value type? {1}.\n", 
            myType.FullName, myBool.ToString());
    }
}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2014 Microsoft