Ist es möglich, einen dynamischen Operator in C# zu haben?C# dynamischer Operator
Antwort
Sie können keine dynamischen Operatoren erstellen, aber Sie können einen Operator in einen Delegaten einschließen. Sie können lambdas verwenden, um die Syntax zu vereinfachen.
Func<int,int,int> opPlus = (a,b) => a + b;
Func<int,int,int> opMinus = (a,b) => a - b;
// etc..
// now you can write:
int a = 5, b = 6;
Func<int,int,int> op = opPlus;
if(op(a,b) > 9)
DoSomething();
Obwohl es nicht definitiv ist - die zukünftige Richtung für C# ist, den Compiler als Dienst zu implementieren. An einem bestimmten Punkt ist es möglicherweise möglich, Code zu schreiben, der einen Ausdruck dynamisch auswertet.
C# 4.0 wird ein dynamisches Schlüsselwort für dynamische Typisierung haben.
Begrenzt auf v2 atm –
Warum wollen Sie einen dynamischen Operator? Vielleicht sollten Sie versuchen, Generika oder Downcast zu verwenden, um –
Interoperabilität mit dem dynamischen Framework und Sprachen hauptsächlich. – Dykam
Sie könnten etwas wie Flee hilfreich finden. Es gibt andere, aber ihre Namen entkommen mir gerade jetzt.
Huckepack auf LBushkin Antwort:
Func<int, int, bool> AGreaterThanB = (a,b) => a > b;
Func<int, int, bool> ALessThanB = (a,b) => a < b;
Func< int, int, bool> op = AGreaterThanB;
int x = 7;
int y = 6;
if (op(x, y))
{
Console.WriteLine("X is larger");
}
else
{
Console.WriteLine("Y is larger");
}
- 1. C#, dynamischer Rückgabetyp
- 2. C# .net dynamischer Objektname
- 3. C++ Operator ==
- 4. C++ Operator ":"
- 5. Dynamischer RSS-Feed in C#
- 6. Objective-C - dynamischer Singleton-Initialisierer?
- 7. C++ statisch statt dynamischer Polymorphismus
- 8. Dynamischer Repeater in C# .net
- 9. String-Operator in C/C++
- 10. Mit dynamischer Nachricht bestätigen?
- 11. C++ Typid-Operator
- 12. Fauler, überladener C++ && Operator?
- 13. Operator Schlüsselwort C++
- 14. Operator sizeof() in C
- 15. C# Ternärer Operator?: Effizienz
- 16. C++ - Überlastung Operator []
- 17. Slicing und Operator C++
- 18. C# Nehmen Operator
- 19. C++ ternary Operator Ausführungsbedingungen
- 20. C# Coalece-Operator Wirf
- 21. Operator Vorrang in C#
- 22. C++ Überlastung Array Operator
- 23. Operator in C++ überladen
- 24. C++ ternärer Operator
- 25. C# Modulo-Operator
- 26. C++ statischer Operator überladen
- 27. typedef und Operator C++
- 28. Operator [] C++ Holen/Setzen
- 29. C# Overload generic + operator
- 30. C# Operator Überlastung ==
Versuchen für eine C# Eval Implementierung googeln, wie das klingt wie das, was Sie suchen. –
Verwandte Frage: http://stackoverflow.com/questions/174664/operators-as-strings –