Heim > Backend-Entwicklung > C++ > Wie kann ich C# Ausdrücke mit Roslyn dynamisch bewerten?

Wie kann ich C# Ausdrücke mit Roslyn dynamisch bewerten?

Patricia Arquette
Freigeben: 2025-01-25 23:31:10
Original
954 Leute haben es durchsucht

How Can I Dynamically Evaluate C# Expressions Using Roslyn?

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
    zu Ihrem Projekt mit Nuget hinzufügen.
  1. Bewertungsausdruck: Microsoft.CodeAnalysis.CSharp.Scripting Verwenden Sie die Methode

    , um den Ausdruck zu bewerten und die Ergebnisse in die entsprechende Variable zu speichern. Zum Beispiel:
  2. Geben Sie den Ergebnistyp an: CSharpScript.EvaluateAsync Um den Typ des bewerteten Ausdrucks anzugeben, kann die generische

    -Methode verwendet werden. Dies stellt sicher, dass das Ergebnis stark ist. Zum Beispiel:
    <code class="language-csharp"> var result = CSharpScript.EvaluateAsync("1 + 3").Result;</code>
    Nach dem Login kopieren
  3. Beispiel verwendet CSharpScript.EvaluateAsync<T>

    Die folgenden Codefragmente zeigen, wie die Skript -API -Bewertung Beispiele verwendet wird:
    <code class="language-csharp"> var now = CSharpScript.EvaluateAsync<string>("System.DateTime.Now.ToString()").Result;</code>
    Nach dem Login kopieren
hohe Level -Eigenschaften

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>
Nach dem Login kopieren

Geben Sie einen Verweis auf die Baugruppe

Geben Sie den Namensraum und das Ziel -Framework

an

  • Weitere Informationen finden Sie im Roslyn -Skript -API -Dokument:
  • https://www.php.cn/link/6e52547a0e7bca35975b6f8761e7ae

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage