Der dynamische Code in C#führt
aus
Dynamic Code Assessment ist eine leistungsstarke Technologie zum Erstellen dynamischer und flexibler Anwendungen. Obwohl JavaScript die Funktion eval () verwendet, um diesen Zweck zu erreichen, bietet C#unterschiedliche Methoden, um ähnliche Funktionen zu erzielen.
Verwenden Sie die Roslyn -Skript -API
Roslyn Script API unterstützt die dynamische Ausführung des C#-Codes. Betrachten Sie das Beispiel der Attribute verschiedener Namen basierend auf der Ganzzahlvariablen I.
Code Beispiel:
// 假设您有一个整数变量'i'
// 创建一个表示所需属性名称的字符串
var propertyName = "Property" + i.ToString();
// 使用CSharpScript.EvaluateAsync动态执行代码
dynamic result = await CSharpScript.EvaluateAsync($"typeof(MyClass).GetProperty(\"{propertyName}\")?.GetValue(myObj)");
Nach dem Login kopieren
Erläuterung:
Hier akzeptiert CSHARPScript.evaluasync die Zeichenfolge des Codes, die den Code darstellt, und gibt ein dynamisches Objekt zurück, das das Ergebnis enthält. Diese Zeichenfolge enthält:
GetProperty -Methode, Suchattribut nach dem Namen.
myobj ist eine Instanz der Klasse, die das Attribut enthält. -
GetValue -Methode, um den Wert des Attributs zu erhalten. -
- Diese Methode liefert die Funktion flexibler dynamischer Zugriffsattribute, ähnlich der Funktion EVAL () in JavaScript.
Das obige ist der detaillierte Inhalt vonWie kann ich C# Code wie JavaScripts `eval ()` dynamisch ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!