Nullable
次の型の動作に困惑しています。
class TestClass {
public int? value = 0;
}
TestClass test = new TestClass();
現在、基になる型である をNullable.GetUnderlyingType(test.value)
返します。しかし、このようにフィールド型を取得しようとするとNullable
int
FieldInfo field = typeof(TestClass).GetFields(BindingFlags.Instance | BindingFlags.Public)[0];
そして私は呼び出す
Nullable.GetUnderlyingType(field.FieldType).ToString()
型を返しますSystem.Nullable[System.Int32]
。つまりNullable.GetUnderlyingType()
、メンバー型を取得する方法に応じて、メソッドの動作が異なります。どうしてこんなことに?単純に使用すると、リフレクションを使用せずtest.value
にどうすればわかりますか?Nullable