Visual Basic .NET Language Flags属性

<Flags>属性では、enumはフラグのセットになります。この属性を使用すると、複数の値をenum変数に割り当てることができます。フラグenumのメンバーは、2の累乗で初期化する必要があります(1,2,4,8 ...)。

Module Module1

    <Flags>
    Enum Material
        Wood = 1
        Plastic = 2
        Metal = 4
        Stone = 8
    End Enum

    Sub Main()
        Dim houseMaterials As Material = Material.Wood Or Material.Stone
        Dim carMaterials as Material = Material.Plastic Or Material.Metal
        Dim knifeMaterials as Material = Material.Metal

        Console.WriteLine(houseMaterials.ToString()) 'Prints "Wood, Stone"
        Console.WriteLine(CType(carMaterials, Integer)) 'Prints 6
    End Sub

End Module