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