我偶爾會發現自己將this
或Me
傳遞給子對象。如這個濃縮的現實世界的例子....NET:將自我傳遞給子對象
Public Class Entity
Private mValidator as New EntityValidator()
Readonly Property IsValid()
Return mValidator.Validate(Me)
End Property
End Class
我很關心.Validate(Me)
。我沒有收到任何警告或代碼分析違規,但只是感覺不對。我對無限遞歸和垃圾收集感到緊張。
我們在項目上有內存泄漏,我想知道是否是由於這個原因造成的。我從來沒有找到解決問題的任何資源。
這種做法行得通,還是我的偏執理應得到?
爲什麼不驗證靜態? – JSWork
我同意@JSWork:我們可能會遺漏一些在EntityValidator上設置屬性的代碼,它會證明Validate()不是靜態的,但其他所有條件都是相同的,它應該是一個靜態方法,它甚至不需要實例在第一位。 –
你是說讓EntityValidator.Validate()靜態和我的代碼讀取返回EntityValidator.Validate(Me)? – nunzabar