Nam*_*amo 3

如果您有 .NET\xe2\x80\x99s 版本 5 的 C# 编译器,则可以使用新的 async 和 wait 关键字。\n附上链接: http: //simoneb.github.io/blog/2013/01/19/ nunit 中的异步支持/

\n\n

如果你可以使用带有匿名 lambda 函数的闭包,使用线程同步。

\n\n

例如)

\n\n
[TestFixture]\nclass SomeTests\n{\n    [Test]\n    public void AsyncTest()\n    {\n        var autoEvent = new AutoResetEvent(false); // initialize to false\n\n        var Some = new Some();\n        Some.AsyncFunction(e =>\n        {\n            Assert.True(e.Result);\n            autoEvent.Set(); // event set\n        });\n        autoEvent.WaitOne(); // wait until event set\n    }\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n