列挙体を引数に持つ関数で、列挙体のメンバーとして適切なものを指定されたかどうかの判定ロジックを書いていて気づいたことをメモメモ。
Friend Shared Function IsProperEnum(ByVal TargetMember As Object, ByVal TargetType As System.Type) As Boolean Dim Fields As System.Array Try Fields = [Enum].GetValues(TargetType) If System.Array.IndexOf(Fields, TargetMember) <> -1 Then
というようなことをやって、Fieldsに入る値は、列挙体のメンバーに割り当てられた整数値ではなく、列挙体のメンバーオブジェクトになる。