Heim >Backend-Entwicklung >C++ >Wie kann ich eine dynamische Codeausführung in C# wie JavaScripts Eval () erreichen?
Der dynamische Code im C#führt
aus Ähnlich wie bei der
-Funktion in JavaScript kann C#die Roslyn -Skript -API verwenden, um den dynamischen Code zu implementieren. Mit dieser API können Sie den C#Code zur Laufzeit dynamisch kompilieren und ausführen.
eval()
Beispiel:
Angenommen, Sie haben eine ganzzahlige Variable und mehrere Attribute wie "Property1", "Property2", "Property3". Sie möchten Operationen auf dem Attribut "Eigenschaft
i" gemäß dem Wert i
ausführen. i
Dieses Beispiel lädt die Montage dynamisch und greift auf das Attribut nach dem Wert zu.
<code class="language-csharp">// 添加NuGet包 'Microsoft.CodeAnalysis.Scripting' using Microsoft.CodeAnalysis.CSharp.Scripting; await CSharpScript.EvaluateAsync($"System.Reflection.Assembly.LoadFrom(\"{new FileInfo(\"your-assembly-to-load.dll\").FullName}\")"); await CSharpScript.RunAsync($"var propertyValue = typeof(YourType).GetProperty(\"Property{i}\").GetValue(yourTypeInstance);");</code>Andere Funktionen:
i
Sie können auch den zuvor kompilierten Code zitieren:
Das obige ist der detaillierte Inhalt vonWie kann ich eine dynamische Codeausführung in C# wie JavaScripts Eval () erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!