最初此方法仅在出现任何问题时返回 false,无论其类型如何。我想知道应用 using
语句是否会在异常时打破逻辑
以这种方式从 using 语句返回 true 值是否可以:
try
{
Measurements.DeleteAllMeasurements(ID);
string query = "DELETE FROM `Narz` WHERE `NAZk_1_ID`=@NAZ_ID";
using(OleDbConnection strukturaConnection = new OleDbConnection(CommonConnectionString + DbPath + strStructureMdb))
{
using (OleDbCommand command = new OleDbCommand(query, strukturaConnection);)
{
command.Parameters.Add("@NAZ_ID", OleDbType.Numeric, 50);
command.Parameters["@NAZ_ID"].Value = ID;
command.ExecuteNonQuery();
return true;
}
}
}
catch (Exception ex)
{
Logger.LogError(ex);
return false;
}
或者我应该以另一种方式返回false?
最佳答案
所有 using 语句所做的就是在代码块末尾隐式调用实例的 IDisposable.Dispose()
实现。
除非您要返回一个引用并且 Dispose()
方法碰巧操纵它,否则这两个问题完全无关。
简而言之,从 using 语句中返回什么值并不重要。
编辑:关于您的方法“应该返回”的内容:我们没有足够的信息来了解这一点。我们甚至不知道方法的名称是什么。而且我们不知道该方法将被应用程序的哪些其他对象或方面使用。返回值应该对其调用者有意义,并有效地传达操作的结果。
关于c# - USING 语句的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10913094/