アプリケーションには、Nullable <int>のFieldInfoを持つコードがあり、次のサンプルのようにnull許容値(基になる値ではない)を取得する必要があります。
class Test
{
public int? value;
}
public class Program
{
static void Main(string[] args)
{
var obj = new Test { value = 10 };
var fld = typeof (Test).GetField("value");
var v = fld.GetValue(obj);
System.Diagnostics.Debug.WriteLine(v.GetType().FullName);
System.Diagnostics.Debug.WriteLine(fld.FieldType.FullName);
}
}
私の問題は、vには常にnullable(このサンプルではNullable <int>)ではなく基になる値(このサンプルではint )が割り当てられることです。
PS:実際のアプリケーションには、コンパイル時にnull許容型がないため、キャストはできません。
助けてくれてありがとう。