ich des Schreibens müde bin x > min && x < max
so wawnt ich eine einfache Funktion zu schreiben, aber ich bin nicht sicher, ob ich es richtig mache ... Ich bin eigentlich nicht Cuz Ich erhalte eine Fehlermeldung:Generisches InBetween Funktion
bool inBetween<T>(T x, T min, T max) where T:IComparable
{
return (x > min && x < max);
}
Fehler:
Operator '>' cannot be applied to operands of type 'T' and 'T'
Operator '<' cannot be applied to operands of type 'T' and 'T'
kann ich habe ein schlechtes Verständnis der where
Teil in der Funktion
Note erklärt: für diejenigen, die mir sagen werden, dass ich wri sein ting mehr Code als zuvor ... denken an Lesbarkeit =) jede Hilfe
geschätzt wirdEDIT
gelöscht Cuz es aufgelöst wurde =)
ANOTHER EDIT
so nach einigen Kopfschmerzen kam ich mit diesem (uhmm) Ding nach @Jay Idee der extremen Lesbarkeit heraus:
public static class test
{
public static comparision Between<T>(this T a,T b) where T : IComparable
{
var ttt = new comparision();
ttt.init(a);
ttt.result = a.CompareTo(b) > 0;
return ttt;
}
public static bool And<T>(this comparision state, T c) where T : IComparable
{
return state.a.CompareTo(c) < 0 && state.result;
}
public class comparision
{
public IComparable a;
public bool result;
public void init<T>(T ia) where T : IComparable
{
a = ia;
}
}
}
jetzt kann man alles mit extremer Lesbarkeit =)
was denken Sie .. Ich bin kein Guru Leistung vergleichen, so dass alle Verbesserungen sind willkommen
Zu Ihrer EDIT: Erweiterung Methoden müssen statisch sein und in eine statische Klasse. –
oh !!!! Ja, das ist richtig ... mein schlechtes =) – Luiscencio