Próbuję napisać metodę rozszerzenia na typy liczbowe, które będą używane w ramach płynnego testowania, które buduję. Zasadniczo chcę, aby to zrobić:Ograniczenie rodzajowe pasujące do typów liczbowych
public static ShouldBeGreaterThan<T>(this T actual, T expected, string message)
where T : int || T: double || etc...
Wystarczy where T : struct
nie robić, ponieważ będzie również dopasować string
i bool
, a może coś innego ja zapominam. czy jest coś, co mogę zrobić, aby dopasować tylko typy liczbowe? (W szczególności typy, które implementują operatorów >
i <
, więc mogę je porównać ... Jeśli to oznacza, że dopasowuję daty, to nie ma to znaczenia - rozszerzenie nadal będzie spełniało moje oczekiwania.)
Jon Skeet i Mark Gravell przygotowali kilka interesujących zajęć: http://www.yoda.arachsys.com/csharp/genericoperators.html –
@Dan właściwie to jest "Marc", ale odpuszczę - bardzo mało osób to rozumie, p –