例如cs文件this.button1.Enabled=true被優化為button1.Enabled=true。感覺這樣可讀性很差,區別不了控制項還是一般類。
1,微軟從節省勞動量的角度出發,能省略的就推薦盡量省略,畫蛇添足沒必要,除非你在方法中定義了和某個類成員同名的變數,此時加上this以做區別是必要的。
2,不只是WinForm,VS里的所有工程都會推薦開發者省略this以及其他所有可以簡化的寫法。C#搞出那麼多語法糖就是為了能讓你比其他語言少打幾個字母。
3,問題描述里說不加this沒法區分控制項還是一般類,這完全是命名的問題,跟加不加this沒有任何關係。我在窗體類里加一個不是控制項的成員,你加上this就能看出來?非要解決這個問題,你可以試試早已過時的匈牙利命名法。事實上,button1看不出來是一個表示按鈕的控制項嗎?建議多背幾個單詞。
4,VS後台自動生成的代碼倒是都加上了this的,如果你有心查看過InitializeComponents方法的實現。
除非個別比如變數名同名的情況,畫蛇添足的寫 this 都要打屁股。
不止winform,所有c#的類方法調用當前對象屬性、欄位、方法的時候都會這麼建議
有人讓我試試2019