我在主线程中有一个方法,如果一个条件是true,我希望从一个true(不管它是哪一行)中取消它。就像处理。
目前,我必须定义一个私有bool,并在我的方法中的每一行之前检查它。
private bool _cancelIt;
private void myLongRunningMethod()
{
if(_cancelIt) return;
//some code
if(_cancelIt) return;
//some code
if(_cancelIt) return;
//some code
...
}有办法关闭另一个线程的方法吗?有点像
myLongRunningMethod.Stop();如果我必须在方法中的每一行之前检查条件,这不是一个好的代码
发布于 2015-12-20 05:04:34
一项工作将是做一个DoWork llambda,听取消。就像这样:
public void DoWork(Action work) {
if (!canceled) {
work();
}
}
DoWork(() => {
//do something if not cancelled
});
DoWork(() => {
//do something else if not cancelled
});https://stackoverflow.com/questions/34378109
复制相似问题