C# 中缺少「nameof」運算子引發了開發人員之道間的討論。此運算子如果實現,將能夠以字串形式檢索屬性名稱,例如 nameof(Customer.Name) 中的「Name」。
對於需要類型安全資料綁定的場景,開發人員已在缺少「nameof」。 .NET 3.5 中出現了一個利用 lambda 表達式的解決方案。然而,找到這個解決方法可能具有挑戰性。
要在.NET 3.5 中實現'nameof' 的功能,可以採用以下方法:
using System; using System.Linq.Expressions; class Program { static void Main() { var propName = Nameof<SampleClass>.Property(e => e.Name); Console.WriteLine(propName); } } public class Nameof<T> { public static string Property<TProp>(Expression<Func<T, TProp>> expression) { var body = expression.Body as MemberExpression; if (body == null) throw new ArgumentException("'expression' should be a member expression"); return body.Member.Name; } }
此程式碼有效地檢索並顯示屬性名稱作為字串,同時確保類型安全。
以上是如何在沒有「nameof」運算子的情況下在 C# 中實現類型安全的資料綁定?的詳細內容。更多資訊請關注PHP中文網其他相關文章!