2009-07-29 60 views
2

如果我有以下內容:「參數‘巴茲’從不使用」ReSharper,未使用的參數和DbC,斷言等等?

void Foo(Bar bar, Baz baz) 
{ 
    // Do something with bar, but not with baz. 
} 

...然後ReSharper的警告我併爲其着色。這是一個有用的暗示,我可能想擺脫它。

在另一方面,如果我有以下幾點:

void Foo(Bar bar, Baz baz) 
{ 
    Require.ArgumentNotNull(bar); 
    Require.ArgumentNotNull(baz); 

    // Some code that used to do something with bar and baz, 
    // but has been changed to no longer use baz. 
} 

...然後ReSharper的認爲,「巴茲」被使用,並且不提醒我。有沒有一個ReSharper註解,我可以使用ArgumentNotNull告訴ReSharper,這種方法並不真正「使用」參數,並仍然發出提示?

+0

如果方法的主體不使用baz,爲什麼要求它不爲null?從語義上講,要求非空值*是''使用'baz並不難。 – AakashM 2009-07-30 13:18:40

回答

3

如果使用[AssertionMethod]屬性(來自ReSharper註釋庫)對「Require.ArgumentNotNull」方法進行註釋,則ReSharper將發出「參數僅在預處理檢查時使用」警告。

看起來像解決了你的問題。

注意:這適用於ReSharper 7.0,需要檢查舊版本將如何處理此問題。