Dynamische Bewertung des C# -Ausdrucks zur Laufzeit
In der Softwareentwicklung ist es manchmal notwendig, den C# Ausdruck zur Laufzeit dynamisch zu bewerten. Dieser Artikel bietet eine moderne und effiziente Lösung.
herkömmliche Methoden verwenden normalerweise
, um Ausdrücke zu kompilieren und auszuführen. Diese Methode ist jedoch veraltet und erfüllt nicht mehr auf die beste Praxis der modernen C#.
CSharpCodeProvider
Die bessere Methode ist die Verwendung der Roslyn -Skript -API. Die API liefert eine Engine, die sich dynamisch mit dem C# -Skript und dem Ausdruck bewertet, was den Expressionsbewertungsprozess vereinfacht:
Dieses Beispiel bewertet den Ausdruck "1 3" und ordnet die Ergebnisse
<code class="language-csharp">using Microsoft.CodeAnalysis.CSharp.Scripting; var result = CSharpScript.EvaluateAsync("1 + 3").Result;</code>
result
<code class="language-csharp">var now = CSharpScript.EvaluateAsync<string>("System.DateTime.Now.ToString()").Result;</code>
Das obige ist der detaillierte Inhalt vonWie kann ich C# Ausdrücke zur Laufzeit mit Roslyn dynamisch bewerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!