Ich schrieb eine generische Erweiterungsmethode, um zu sehen, ob ein Schlüssel in einem bestimmten Bereich ist:Was bestimmt, ob ich die Vergleichsoperatoren verwenden kann?
public static bool IsInRange(this Key key, Key lowerBoundKey, Key upperBoundKey)
{
return lowerBoundKey <= key && key <= upperBoundKey;
}
Das scheint einfach genug, aber ich nehme an eine generische Methode äquivalent schreiben mag, die mit jeder Art arbeiten, die verwendet werden können die <=
Vergleichsoperator:
public static bool IsInRange(this T value, T lowerBound, T upperBound)
{
return lowerBound <= value && value <= upperBound;
}
Wie bewerbe ich mich where T : ISomethingIDontKnow
so kann ich das kompilieren machen?
Nicht sicher, aber wenn es IComparable implementieren könnte ausreichend sein – Paparazzi
'wo T: IComparable' sollte genug sein, damit dies funktioniert. – Nkosi