Код: Выделить всё
public static T Minimum(this T struct1, T struct2) where T : struct, IComparable
{
return struct1.CompareTo(struct2) < 0 ? struct1 : struct2;
}
Код: Выделить всё
public static Nullable Mininum(this Nullable struct1, Nullable struct2) where T: struct, IComparable
{
if (!struct1.HasValue)
return struct2;
if (!struct2.HasValue)
return struct1;
// this line won't compile - the Minimum extension method is not visible
return struct1.Value.Minimum(struct2.Value);
}
Редактировать: в совершенно новом исходном файле - теперь это отлично работает . Спасибо за ваш вклад.
Подробнее здесь: https://stackoverflow.com/questions/787 ... ension-how