Вот условие, которое я использовал, чтобы определить, имеем ли мы дело с типом, допускающим значение NULL:
System.Nullable.GetUnderlyingType(itemType) != null
, а здесь код моего товарища по команде:
itemType.IsGenericType && itemType.GetGenericTypeDefinition() == typeof(Nullable<>)
На самом деле мы не нашли случая, когда один будет возвращать true
, а другой false
(или наоборот), но являются ли эти 2 фрагмента строго эквивалентными?