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