Nullable(of Enum)aが実際Enumにリフレクションによってであるかどうかを判断するにはどうすればよいですか?
私は、データベース呼び出しから取得したTタイプのオブジェクトに動的にデータを取り込むメソッドを使用しています。IDataReader基本的に、データリーダーの序数をループし、序T数の名前に一致するすべてのプロパティとプロパティにデータを入力します(列名を変更するために属性マジックもスローされます)。他のすべての状況ではうまく機能しますが、プロパティをチェックするBaseTypeとSystem.Enum、代わりに見つけることができます。System.ValueType したがって、列挙型チェックが失敗し、メソッドが爆破されます。
[編集:
Type.IsEnum必要な方法で機能しません。ここでの主な問題は、TのBaseType階層には、それがであるとは何も書かれていないということですEnum。それをNullableタイプにすることは私のEnum権利を失うかのようです。]
何か案は?