C#でDWARFパーサーを作成しようとしています。 DWARFは、複数の数値型(DW_FORM_data2
,DW_FORM_data4
、DW_FORM_data8
、DW_FORM_sdata
、DW_FORM_udata
)の概念を持ち、すべてが列挙型に解決される可能性があります。上記のDW_FORM_*
クラスが実装するIConstant
クラスを実装して、enumにキャストすることができます(ushort
、int
などをenumにキャストできるのと同じです)。C#で列挙型にキャストできる新しい数値型を作成する方法
しかし、キャスト演算子は静的メソッドであり、列挙型には入れることができません。列挙型に変換できる数値タイプのグループを作成するにはどうすればよいですか? 1つの複雑な要因は、DW_FORM_udata
またはDW_FORM_sdata
のサイズ(8ビット、32ビットなど)がデコードされるまで定義されていないことです。
「enum」にキャストできますか? – NetMage
変換を行う方法がないだけでキャストしたいのですが – DavidG
はい。任意の列挙型。おそらく方法は行く方法です。だから、インターフェース上に 'ToEnum()'メソッドを追加するだけですか?それは私が探している答えかもしれません。あなたは 'ToEnum'ジェネリックを作りますか? – watkipet