首頁 >後端開發 >C++ >如何在不使用 nameof Operator 的情況下檢索舊版 .NET 版本中的類型安全屬性名稱?

如何在不使用 nameof Operator 的情況下檢索舊版 .NET 版本中的類型安全屬性名稱?

Patricia Arquette
Patricia Arquette原創
2024-12-31 11:57:11890瀏覽

How Can I Retrieve Type-Safe Property Names in Older .NET Versions Without the nameof Operator?

無需nameof 運算子即可進行類型安全的屬性名稱檢索

.NET Core nameof 運算子允許輕鬆以字串形式檢索屬性名稱,提供類型安全性和程式碼可讀性。但是,在早期的 .NET 版本中,沒有內建的 nameof 替代方案。

C# 3.5 解決方法

在.NET 3.5 中,可以使用lambda 實作解決方法表達式:

var propName = Nameof<SampleClass>.Property(e => e.Name);

的名稱類別定義了一個Property 方法,該方法接受針對屬性的lambda 表達式,例如e => e.姓名。此方法從 lambda 表達式中提取 MemberExpression 並傳回屬性的名稱。

提供的程式碼片段示範了 SampleClass 中名為「Name」的屬性的這種方法。

.NET 2.0 實作

由於 .NET 2.0 的限制,實作 nameof 功能並不簡單反射和 lambda 表達式。但是,可以使用涉及 MemberInfo 類別及其反射功能的更複雜的方法。

以上是如何在不使用 nameof Operator 的情況下檢索舊版 .NET 版本中的類型安全屬性名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn