【VB】 C#との差異 (Enum 編)

■ 構文

Public Enum [列挙名]
   [値1]
   ...
End Enum

サンプル

Namespace Models
    Public Class PersonModel
        Private Property _Gender As Gender

        Public Property Gender As Gender
            Get
                Return Me._Gender
            End Get
            Set(ByVal value As Gender)
                Me._Gender = value
            End Set
        End Property
    End Class

    ' ★ここ★
    Public Enum Gender
        None
        Man
        Woman
    End Enum

End Namespace

■変換について

Enum => 数値

* 難しく考える必要なし
 * Convert.ToInt16()などで変換

Enum => 数値(文字列)

 * ToString("d") で変換

Enumへの変換

* Enum.Parse() / Enum.TryParse() で変換
' Enum.Parse()
Dim monday As DayOfWeek = DirectCast([Enum].Parse(GetType(DayOfWeek), "Monday"), DayOfWeek)
    
' Enum.TryParse()
[Enum].TryParse(Of DayOfWeek)("Monday", monday)

参考文献

http://programmers.high-way.info/vb/enum.html