>>public static bool Between<T>(this T s, T s1, T s2) where T : IComparable<T> >> >>public static T Max<T>(params T[] array) where T : IComparable<T> >> >>>>
>>public static bool InList<T>(this T s, params T[] array) where T : IEquatable<T> >> { >> return array.Contains(s); >> } >>>
>public static T GetNonNull<T>(this T? value) where T : struct > { > return value == null ? default(T) : (T)value; > } >>It says that it could be any value type except for Nullable types. But paramter of the method is Nullable type. Can you explain it then?