當引用當前實例成員時,是否有辦法在Visual Studio中強制使用this
關鍵字?我可以在c#.NET中強制使用'this'關鍵字嗎?
例在構造函數中的錯誤:
class MyClass
{
public object Foo { get; set; }
public MyClass(object foo)
{
Foo = Foo; // this should of course be lowercase but it's easy to miss
}
}
此代碼可能會產生什麼地方以後臭名昭著'object reference not set to an instance of an object'
例外。
如何使它工作,但仍然很容易錯過:
class MyClass
{
public object Foo { get; set; }
public MyClass(object foo)
{
Foo = foo; // Valid syntax but unclear.
}
}
這是有效的語法,但它很容易錯過。
語法我想視覺工作室執行:
class MyClass
{
public object Foo { get; set; }
public MyClass(object foo)
{
this.Foo = foo; // this is "safe".
}
}
如果此慣例執行我將不得不鍵入this.Foo = this.Foo
創建同一類型的bug在第一個例子。
我總是使用關鍵字this
,因爲它使我的生活更輕鬆,同時在c#和其他語言之間切換,所以根本沒有任何缺點。
的Visual Studio確實,當你,如果你使用的FxCop –
做第一個錯誤警告你,你說我不認爲這會讓你遇到的問題有什麼區別,我建議,而不是更改參數的名稱的東西像'bar',這樣你就不會有任何問題。 – atoMerz