In this case you want to constrain your generic to the IComparable
interface, which gives you access to the CompareTo
method, since this interface allows you to answer the question ShouldBeGreaterThan
.
Numeric types will implement that interface and the fact that it also works on strings shouldn’t bother you that much.