動態代碼評估是創建動態靈活應用程序的強大技術。雖然JavaScript使用eval()函數實現此目的,但C#提供了不同的方法來實現類似的功能。
Roslyn腳本API支持動態執行C#代碼。考慮根據整數變量i訪問不同名稱屬性的示例。
<code class="language-csharp">// 假设您有一个整数变量'i' // 创建一个表示所需属性名称的字符串 var propertyName = "Property" + i.ToString(); // 使用CSharpScript.EvaluateAsync动态执行代码 dynamic result = await CSharpScript.EvaluateAsync($"typeof(MyClass).GetProperty(\"{propertyName}\")?.GetValue(myObj)");</code>
此處,CSharpScript.EvaluateAsync接受表示代碼的字符串,並返回包含結果的動態對象。該字符串包含:
這種方法提供了靈活地動態訪問屬性的功能,類似於JavaScript中的eval()函數。
以上是如何像JavaScript的`eval()`如何動態執行C#代碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!