有没有办法在C#中执行一个方法后执行过程意外退出?
我目前的情况是:一个MSTest单元测试项目,在执行过程中(在本例中只有Thread.Sleep)单元测试我停止调试过程,我可以指定一个必须调用的方法吗?
(在这种情况下可能是MSTest属性?)我已经尝试过:完成并实现IDisposable
答案 0 :(得分:1)
如果您手动停止任何进程(即通过终止IDE中的调试过程,或通过终止任务管理器中的进程),您将绕过代码的正常运行。所有内容都会被激活终止,并且您的Dispose
或其他关闭方法都不会触发:所有代码执行都会停止。
请注意,如果您从流程分离,代码将继续运行,但不会要求您的流程停止。 (另外,作为参考:如果您从任务管理器的“应用程序”选项卡中“结束任务”,这实际上请求应用程序停止 - 这允许关闭代码触发,但不保证应用程序将及时关闭。)
简而言之:如果停止调试过程,根据定义不会执行任何代码。我怀疑你需要看一个替代方法:可能有一个原因,你想要调用你的方法,并且可能有一个不同的解决方案,你可以尝试。
答案 1 :(得分:0)
如果您正在收听的流程不是您启动的流程(在您的情况下似乎如此),我看不到其他选项,例如简单的Timer
实施如果指定的进程在系统内存中可用的进程之间,则在每个tick控制。