方向列挙型があります:
Public Enum Direction
Left
Right
Top
Bottom
End Enum
そして時々私は逆を取得する必要があるので、書くのはいいようです:
SomeDirection.Inverse()
しかし、列挙型にメソッドを置くことはできません!ただし、拡張メソッド(VS2008 +)を追加することはできます。
VBでは、拡張メソッドはモジュール内にある必要があります。私はモジュールがあまり好きではありません。他のプロジェクトにプラグインするために単一のファイルで共有できる(適度に)単純なクラスを作成しようとしています。
モジュールはファイル/名前空間レベルにのみ存在できるため、ファイルの下部にモジュールがあります。
Public Class MyClass
'...'
End Class
Public Module Extensions
<Extension()> _
Public Function Inverse(ByVal dir As Direction) As Direction
'...'
End Function
End Module
それは機能し、「壊れていない場合は修正しないでください」が、間違っているかどうかを知りたいので、ボイラープレートを少なくしてより良い方法があります。たぶん.NET4で?
最後に、列挙型のように動作する構造を記述できることはわかっていますが、それはさらに逆に思えます。