Обнуляемое создание через отражение с HasValue = false, только с параметром типа `Тип`
Учитывая параметр типа, который являетсяNullable<>
Как я могу создать экземпляр этого типа, который имеетHasValue = false
?
Другими словами, завершите этот код:
//type is guaranteed to implement Nullable<>
public static object Create(Type type)
{
//Instantiate a Nullable<T> with reflection whose HasValue = false, and return it
}
Моя попытка, которая не работает (бросаетNullReferenceException
) так как нет конструктора по умолчанию:
static void Main(string[] args)
{
Console.WriteLine(Create(typeof(Nullable<int>)));
Console.ReadLine();
}
//type is guaranteed to be implement from Nullable<>
public static object Create(Type type)
{
//Instantatie a Nullable<T> with reflection whose HasValue = false, and return it
return type.GetConstructor(new Type[0]).Invoke(new object[0]);
}