Как избежать закрытия Safe handle

У меня есть следующий код в тесте:

 private void LoadIncomeStatementViewModel()
    {
        using (var evt = new AutoResetEvent(false))
        {
            EventHandler handler = (sender, e) => evt.Set();

            _incomeStatementViewModel.Loaded -= handler;
            _incomeStatementViewModel.Loaded += handler;
            _incomeStatementViewModel.LoadDataCommand.Execute(null);
            evt.WaitOne();
        }
    }

Теперь, если я выполню следующий тест

[Test]
public void Test()
{
   LoadIncomeStatementViewModel();
   // do something

   LoadIncomeStatementViewModel();
   // do something
}

Второй раз вызывается LoadIncomeStatementViewModel (). Я получаю сообщение об ошибке «Безопасный дескриптор удален» на EventHandler handler = (sender, e) => evt.Set ();

Несомненно, оператор using повторно инициализировал evt при повторном запуске метода во второй раз. У меня такое чувство, что это может быть связано с Resharper Test Runner (Nunit 2.7) ....

Есть мысли, как это обойти?

Спасибо Джереми

5
задан Askolein 27 August 2013 в 06:54
поделиться