什麼是屬性
屬性是套用於類別、屬性、方法等程式元素的中繼資料,提供擴充編程模型的方式。例如 [WebMethod] 讓 Web Service 公開特定方法。
設計自訂屬性前的四個考量
- 目的:屬性要解決什麼問題?是否有內建修飾詞可替代?
- 儲存資訊:單純標記?還需攜帶設計時期資料供執行期讀取?
- 所在組件:放於使用者組件,或獨立共享組件以減少依賴?
- 識別者:哪些組件會讀取此屬性?通常與屬性同組件,但也可分離。
屬性 vs XML 註解
屬性編譯進組件中繼資料,即使無原始碼仍可透過反射讀取;XML 註解僅存在原始碼,編譯後遺失。