В основном у меня есть следующее:
public static bool IsBetween<T>(this T value, T a, T b)
where T : IComparable
{
...
}
public static bool IsBetween<T>(this T value, T a, T b)
where T : IComparable<T>
{
...
}
Проблема в том, что я не могу этого сделать, потому что у вас не может быть члена с одинаковой подписью, даже если ограничения разные.Но нет никакого способа заявить, что ограничение является либо IComparable
ИЛИ IComparable<T>
.Так что я не уверен, что делать здесь, кроме как выбрать один и пойти с ним.И, независимо от того, какой из них я выберу, я проигрываю другому, потому что они отделены и не наследуют друг от друга (что имеет смысл).
Я что-то здесь упускаю в том, что естьспособ выполнить оба, или мне придется выбрать один (вероятно, универсальная версия)?