擴充 C# 類型:本機擴充屬性的替代方案
C# 目前缺乏對擴充屬性的本機支援。 這意味著您無法直接向現有類型新增屬性。 但是,有幾種解決方法:
新增屬性的解決方法:
TypeDescriptor
運行時為物件附加屬性,有效模擬擴充屬性。 展望未來:未來的可能性
雖然尚未實現,但擴展屬性已被建議作為未來的 C# 功能。未來的語言版本正在考慮更廣泛的「擴展一切」概念,包括屬性擴展。
當前狀態和建議的語法
截至 2017 年 5 月,擴展屬性提案仍處於提案階段,語法可能會改變。 建議的語法類似:
<code class="language-csharp">public extension DerivedType of BaseType : Interface { public PropertyType PropertyName { get; set; } }</code>
這將有效地將 PropertyName
添加到 BaseType
。
總結
雖然直接擴展屬性目前在 C# 中不可用,但存在可行的解決方法。 潛在包含“擴展一切”表明未來類型可擴展性的增強。
以上是如何在沒有本機擴充屬性的情況下為 C# 中的現有型別新增屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!