2012-05-22 38 views
3

我在StyleCop中使用一組自定義的規則以及它的ReSharper插件在我輸入時自動檢查我的代碼。在自動完成視覺工作室時自動添加'this'標識符

StyleCop中的規則SA1101指出,對當前類的成員的調用需要以this.開頭,以指示它實際上在當前類中定義。

是否有設置它的方法,所以當我去自動完成類的成員時,它會自動添加this.前綴,所以我不必記住如何鍵入它或之後添加它?

允許使用public bool Running { get; set; }爲例:

我鍵入「Run」 + 標籤,而現在它出來到Running,但我想它出來爲this.Running

這會節省很多時間和打字。

編輯

請注意,打算ReSharper的選項ReSharper => Options => Code Editing => C# => Formatting Style => Other => "Force 'this.' qualifier for instance member"(由喬恩提及)不起作用。在聲明結尾添加;(這是可以接受的),或者將該標籤this.添加到類成員之後。

+1

這是一個適用於您的編碼風格的規則嗎?我總是可以想到總是使用'this'限定成員的唯一原因是爲了避免名稱與方法參數衝突,也就是說,你有一個支持字段'name'和一個方法參數'name'。然而,如果你的成員變量的樣式類似'_name',那麼在整個地方使用'this'只會混淆代碼IMO。 –

+1

沒有試圖成爲一個聰明人,但它可能會節省你的時間,如果你通過並自己添加前綴。 –

+1

@EdS .:請注意,該規則適用於* current *類的成員,而不適用於任何基礎成員。因此,如果您持續使用並忽略它,它確實提供了一定程度的信息。 – Jon

回答

2

如果你去

ReSharper => Options => Code Editing => C# => Formatting Style => Other 

有一個選項叫做「強制 '這一點。'例如成員「」的限定符。

啓用它應該按照您的意圖工作。

+0

嘗試過,在我的聲明結尾或標籤之後添加';'時,它不會更新。 – caesay