Возможно, для этого вы можете использовать generic, например:
public static T Create<T>() where T : IComparable<T>, new() {
return new T();
}
Или если вы имеете в виду «когда вы создаете тип» (в коде), то нет; вам просто нужно помнить, возможно, используя юнит-тесты, чтобы убедиться, что вы это сделали.
Я рекомендую использовать набрано IComparable<T>
вместо IComparable
- это значительно облегчает жизнь (и позволяет избежать бокса, но это не проблема). Наконец, помните, что вы можете использовать Comparer<T>.Default
и Comparer.Default
в коде, если вы хотите набрать сопоставимый бит, например, как List<T>.Sort()
работает.