Gibt es eine .NET-Klasse, die Operator-Typen repräsentiert?

7

Ich möchte Folgendes tun:

%Vor%

dieses Konzept kann in Javascript mit einem eval () gekluded werden ... aber diese Idee ist eine Schleife zu haben Diese kann basierend auf zur Laufzeit festgelegten Werten vorwärts oder rückwärts gehen.

ist das möglich?

Danke

    
user323774 04.05.2010, 17:22
quelle

5 Antworten

13

Ja, es ist in .NET Ausdrucksbäume. Insbesondere müssen Sie BinaryExpression.Add () . Das Erstellen von Ausdrucksbaumstrukturen muss nicht von Hand erfolgen. Der Compiler konvertiert gerne alle Lambda-Ausdrücke, die er als Expression<T> erkannt hat, in eine gültige Ausdrucksbaumstruktur.

%Vor%

Wenn Sie Ihren Ausdrucksbaum aufrufen, wird er automatisch zu einer dynamischen Methode kompiliert und größer alsThan wird effektiv wie ein Delegat funktionieren.

    
Johannes Rudolph 04.05.2010, 17:24
quelle
4
%Vor%

dann

%Vor%     
Andrey 04.05.2010 17:26
quelle
2

Bearbeiten: Eins hinzugefügt mit Lambda-Funktion:

%Vor%

Ich bin mir sicher, dass die Leute viel elegantere Lösungen finden werden, aber hier ist es:

%Vor%     
Alan Jackson 04.05.2010 17:28
quelle
1
%Vor%

oder loswerden von mir insgesamt:

%Vor%     
Mark Synowiec 04.05.2010 17:36
quelle
0

Sie können Ihre eigene Klasse definieren und Ihren eigenen Operator implementieren, siehe Ссылка

- bearbeitetes
Oh, missverstanden, was du wolltest, der beste Weg für dich ist Ausdruck oder Func & lt; & gt; wie Andrey traurig.

    
arena-ru 04.05.2010 17:50
quelle

Tags und Links