2011-03-09 102 views
2

我知道「this」關鍵字的作用,但不要udnerstand爲什麼VS幾乎總是使用它,就像this.Invalidate。如果呼叫被放在課堂上,並且標識符沒有問題,那有什麼好處呢?爲什麼VS經常使用「this」?

+1

你說什麼時,你說VS使用它?你在看什麼代碼? – 2011-03-09 09:32:36

+2

看到這個答案:http://stackoverflow.com/questions/23250/when-do-you-use-the-this-keyword – vlad259 2011-03-09 09:32:44

回答

2

這不是VS誰使用它,而是誰做的開發者。如果你使用了一個像Resharper這樣的工具,它總是會指出「this」是不必要的或冗餘的。

1

它明確顯示這個變量或方法屬於這個類。它更可讀。但它不是強制性的。它由開發人員和團隊決定是否要以這種方式使用它。這只是另一種代碼風格。

1

在不必要的情況下添加this可以減少代碼的複雜性並使其更具可讀性。

2

我認爲這主要是一個風格問題。使用this參考使其100%清楚你打算參考什麼。

你說標識符沒有問題(因爲範圍內沒有名稱衝突),但這並不意味着將來不會有任何問題。

可以將其他名稱或類添加到外部作用域。這不太可能,也許不會造成問題,但它有助於消除任何模糊的可能性。

1

如果調用放在類中,並且標識符沒有問題,那麼它有什麼好處?

我假設你在談論自動生成的代碼,例如,表單設計師。它可以

一)寫來分析它已經發出的代碼,決定標識符是否是模糊的,再此基礎上,決定是否使用this.適當限定名稱,或

B)只需使用this.即可獲得所有類範圍的標識符。


它可能看起來在許多情況下多餘的,但完全相同的IL代碼會產生你是否在一個明確的上下文中使用this.,所以它不是因爲如果它造成任何傷害總是包含它。

1

哈哈哈,因爲如果你使用「這個」。然後智能感知彈出,你有你的所有班級成員在你的處置,不必輸入太多(或做這麼多的錯別字,無論...)

相關問題