Verwenden Sie Roslyn, um C#Expression
dynamisch zu bewerten Bei der Konstruktion von data -gesteuerten Anwendungen oder beim Ausführen der Zeitcodegenerierung ist häufig eine dynamische Bewertung C#Expression erforderlich. Dieser Artikel zeigt, wie die Microsoft Roslyn Compiler -Plattform verwendet wird, um dieses Ziel zu erreichen.
Verwenden Sie die Skript -API
Roslyns Skript -API bietet eine bequeme Möglichkeit, Ausdrucks- und Codefragmente zu bewerten. Die spezifischen Schritte sind wie folgt:
Installieren Sie das Nuget -Paket:
add
Bewertungsausdruck: Microsoft.CodeAnalysis.CSharp.Scripting
Verwenden Sie die Methode
Geben Sie den Ergebnistyp an: CSharpScript.EvaluateAsync
Um den Typ des bewerteten Ausdrucks anzugeben, kann die generische
<code class="language-csharp"> var result = CSharpScript.EvaluateAsync("1 + 3").Result;</code>
Beispiel verwendet CSharpScript.EvaluateAsync<T>
<code class="language-csharp"> var now = CSharpScript.EvaluateAsync<string>("System.DateTime.Now.ToString()").Result;</code>
Skript -API unterstützt viele hochrangige Merkmale, zum Beispiel:
Die Parameter des vom Bewertungscode übergebenen Passcode
<code class="language-csharp">using Microsoft.CodeAnalysis.CSharp.Scripting; using Microsoft.CodeAnalysis.Scripting; // 评估 "1 + 3" var result = CSharpScript.EvaluateAsync("1 + 3").Result; Console.WriteLine(result); // 输出 4 // 评估 "System.DateTime.Now.ToString()" var now = CSharpScript.EvaluateAsync<string>("System.DateTime.Now.ToString()").Result; Console.WriteLine(now); // 输出当前日期时间</code>
Geben Sie einen Verweis auf die Baugruppe
Geben Sie den Namensraum und das Ziel -Frameworkan
Das obige ist der detaillierte Inhalt vonWie kann ich C# Ausdrücke mit Roslyn dynamisch bewerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!