c# - 代码行不遵循顺序执行

标签 c# .net multithreading

尽管我没有使用线程,但我遇到了不遵循顺序执行的代码问题。我的代码调用了一个函数,当我在函数内部调试时,它返回到函数调用后的代码行,尽管该函数尚未完成执行,我不知道为什么会发生这种情况,有什么想法吗?提前致谢。

workflow.SaveControlTiempo(solEntity, traId, Usuario.GetUsrId()); // this is my function

// code execution continues here even if the function hasn't finished 
// and since the function hasn't finished I get an exception
RadAjaxManager.GetCurrent(Page).RadAlert("Solicitud Transicionada con \u00c9xito"); 

var javascripFunction = "CloseWindow('Solicitud <b>{0}</b><br />Transicionada con \u00c9xito.<li> <b>Etapa Destino: </b>{1}<li><b>Usuario: </b>{2}');";
javascripFunction = string.Format(javascripFunction, solEntity.SOL_CODIGO, solEntity.WKF_ETP_ETAPAS.ETP_DES, 
DNNUtil.GetInstance().GetUserName(solEntity.USR_ID));

最佳答案

这可能是因为您在函数中点击了一行导致控制权返回给调用者。最明显的例子是 return 关键字,但这不是唯一的方法。还要检查您的代码中是否有类似 yield break 的内容。异常也可能给出意想不到的退出点,尽管这似乎并没有发生在这里,因为没有 catch 或 finally block 。

另请注意,调试信息有时会与源代码不同步,因此您看起来像是从不可能返回的位置返回。要解决此问题,请从干净的环境中重建所有文件。

关于c# - 代码行不遵循顺序执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694792/

相关文章:

c# - 在 Linq 中使用 .NET 4 动态关键字的好例子?

c# - 谁使用 NotifyCollectionChangedEventArgs 的功能?

c# - 在 Web 应用程序中访问业务逻辑服务是否有最佳实践?

android - SoundPool.load() 是否设计为异步加载?

c# - 中止对非托管 DLL 的调用

android - 我应该使用 Timer、Handler 还是 ASyncTask?

c# - 如果字段为空或错误,则日期时间的 RequiredAttribute

C# 为什么我可以在函数内部而不是其他任何地方创建标签数组?

c# - .NET:值类型继承 - 技术限制?

c# - 什么是 IoC 子容器以及如何使用它们?