5
我已經在測試下面的代碼:)如何避免安全手柄已經關閉
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處理程序=(發件人,e)=> evt.Set();
當第二次重新運行該方法時,肯定會使用using語句重新初始化evt。我有一種感覺,這可能與Resharper Test Runner(Nunit 2.7)有關......
有關如何解決此問題的任何想法?
感謝 傑里米
這解決了我的問題,謝謝! – joerage 2013-01-11 17:26:05