1
什麼將是最好的方式來實現這個方法:如何從一個類型對象獲取可空類型對象
Type GetNullableTypeFromType(Type tp);
使
Type tpString = GetNullableTypeFromType(typeof(string)); // Returns typeof(string)
Type tpInt = GetNullableTypeFromType(typeof(int)); // Returns typeof(int?)
我之間添加此您兩行,以便'GetNullableType(typeof(int?))'將工作(返回'int?'):'else if(t.IsGenericType && t.GetGenericTypeDefinition()== typeof(Nullable <>))return t;'' 。此外,通過'typeof(Nullable <>)'傳遞給你相同的類型。 –
好點,我沒有考慮過那個。 –
如果將它傳遞給接口,這仍然會失敗。你可以通過改變方法體來使它更健壯:'if(t.IsValueType &&(Nullable.GetUnderlyingType(t)== null))return typeof(Nullable <>)。MakeGenericType(t);返回t;' – LukeH