這是關於ReSharper的警告,「訪問到設置關閉」當一個lambda使用稍後配置對象,其通常出現。 Access to disposed closure in C#?對此進行了更詳細的討論。進入到設置關閉 - 方法標記爲安全
我的問題是:對於採取這種lamdbas並立即執行它們(這樣你就可以確保他們始終執行上述對象佈置之前)方法:
有沒有辦法將它們標記爲安全,這樣任何使用該方法的代碼都不會產生這些警告?
實施例:
using (var myObject = new MyDisposableObject())
{
DoThisTwice(() => myObject.DoSomething());
}
...
void DoThisTwice(Action do)
{
do();
do();
}
DoThisTwice需要委託(或λ)和同步執行它。當方法返回時,lambda將不再執行。只有myObject
被處置,所以我們很好走。我們可以用註釋標記這條線,調用DoThisTwice
,但必須在所有使用該方法的地方以類似的方式完成。相反,我想將DoThisTwice
標記爲安全的,因此Resharper不會爲該方法的任何呼叫者顯示任何警告。
*確切*我在找什麼! – chiccodoro
哇,非常好:) –