当“worker”正在执行一段代码时,我正在关闭整个窗口,并且我想在关闭该窗口时处理它,因为它正在完成它的代码。
Task worker = Task.Factory.StartNew(new Action(() =>
{
// some code here
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我调用时worker.Dispose()出现Close()异常:
仅当任务处于完成状态(RanToCompletion、Faulted 或 Canceled)时才可以处置任务
有什么建议我可以在它工作时处理它吗?
我想知道,是否有可能获得传递给方法的变量名称params object[] values?
方法的签名如下所示:
public static void ExecuteSafely(
Action callback,
string command,
params object[] values)
{
// code here
}
Run Code Online (Sandbox Code Playgroud)
我试图获得价值nameof(values[index]),但它告诉我:
表达式没有名称.
这一点的关键是动态地向SQL命令添加参数,如果我可以根据参数的名称添加参数,那么传递它会更容易,参数更少,但这些参数的数量应该是可变的.
你能推荐任何解决方案或其他方法吗?