C # beim Operator-Überladen

7

Ich hatte gerade eine Idee beim Schreiben eines if-Ausdrucks und manchmal neigt der Ausdruck dazu, lang zu sein, wenn Sie es so haben:

%Vor%

x kann enums, strings, ints, chars sein, du bekommst das Bild.

Ich möchte wissen, ob es eine einfachere Möglichkeit gibt, dies zu schreiben. Ich denke an sqls Operator 'in' zum Beispiel um den Ausdruck zu verkürzen:

%Vor%

Ich weiß, dass Sie einen Ausdruck wie diesen nicht mit 'in' schreiben können, weil der Lexer und der Parser des Compilers ihn nicht erkennen.

Vielleicht sind andere Lösungen als Erweiterungsmethoden verschiedener Arten von x die Lösung? In der kommenden .NET 4.0 habe ich etwas über parametrisierte Methoden gehört, sollte das die Anzahl der Parameter lösen, die an den if-Ausdruck geliefert werden?

Vielleicht verstehen Sie mich, haben Sie eine Idee von einer guten Praxis / Lösung für diese Frage?

/ Daniel

    
Daniel Svensson 04.11.2009, 09:09
quelle

6 Antworten

18

Normalerweise schreibe ich eine Erweiterungsmethode wie folgt:

%Vor%

Was kann so verwendet werden:

%Vor%     
Winston Smith 04.11.2009 09:42
quelle
13

Versuchen Sie Folgendes

%Vor%     
JaredPar 04.11.2009 09:12
quelle
1
%Vor%     
Alex Reitbort 04.11.2009 09:17
quelle
0
%Vor%     
Paddy 04.11.2009 09:13
quelle
0
%Vor%     
Boris Modylevsky 04.11.2009 09:16
quelle
0

Da x ein int ist, könnten Sie eine Erweiterungsmethode wie folgt schreiben:

%Vor%     
Cros 04.11.2009 09:18
quelle