Если у меня есть следующий код:
public class Foo
{
public void Bar()
{
var someTypeWithAnEvent = new SomeTypeWithAnEvent();
using (var signal = new ManualResetEvent(false))
{
someTypeWithAnEvent.Begun += (sender, e) => signal.Set();
someTypeWithAnEvent.Begin();
signal.WaitOne();
}
}
}
FxCop, похоже, выдает CA1001 ошибку:
CA1001: Microsoft.Design: Внедрение
IDisposable на 'Foo'
потому что это создает членов
следующие идентифицируемые типы:
'ManualResetEvent'.
В данном случае это не так, потому что я избавляюсь от ManualResetEvent
через using
блок.
Я что-то здесь упускаю или в правиле есть ошибка?