ジェネリック型の Enum 制約を作成する方法について、多くの質問が飛び交っています。ex1、ex2、ex3など
さらに一歩進んで、一般的なメソッドへの制約として特定のローカルに定義された列挙型のみを要求できるかどうかに興味がありました。
現在、ジェネリック型の列挙型を許可するために、ジェネリック型の構造体 Iconvertible 制約を使用するという提案されたソリューションを使用しています。vb.net では次のようになります。
Private Function MyMethod(Of T As {Structure, IConvertible})(ByVal myEnum As T) As Object
'...
End Function
次に、次のように定義された 2 つの列挙型のみに制約をさらに強制したい場合はどうなるでしょうか。
Public Enum EnumOne
Height
End Enum
Public Enum EnumTwo
Width
End Enum
私はまだ構文を理解できていません。
私は VB.net でプログラミングしていますが、C# の回答も歓迎します。