當我的項目運行代碼分析,我收到以下消息:VB.NET中公共變量和公共屬性有什麼區別? (代碼分析VS2010,CA1051:Microsoft.Design)
CA1051 : Microsoft.Design : Because field 'ClassName.VarName' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it.
要解決這個問題,我可以更改以下行:
Public VarName As String
這樣:
Public Property VarName As String
我不明白爲什麼Property
關鍵字在這種特殊情況下非常重要。任何人都可以提供一個解釋,爲什麼將這個成員改爲Property
對代碼分析有重大影響?難道我做錯了什麼?
那麼,使用封裝被認爲是.NET中的最佳實踐? – afuzzyllama
我會這樣說,如果你想實現訪問控制(可能不在你的情況 - 也許將來?),或隱藏執行從調用代碼。 – alundy
99.9%的疑問是我再也不會碰這個代碼,但我確實認爲帽子封裝對代碼的可維護性非常重要。 – afuzzyllama