从USING语句返回值

TOP*_*KEK 1 .net c# idisposable using return

最初,此方法仅在出现任何问题时返回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;
    }
Run Code Online (Sandbox Code Playgroud)

或者我应该以另一种方式返回虚假

sma*_*man 5

所有using语句都隐式调用IDisposable.Dispose()代码块末尾的实例实现.

除非您返回引用并且该Dispose()方法恰好操纵它,否则这两个问题完全无关.

简而言之,在using语句中返回的值无关紧要.

编辑:关于您的方法"应该返回":我们没有足够的信息来了解这一点.我们甚至不知道方法的名称是什么.并且我们不知道该方法将使用哪些其他对象或方面.返回值应对其调用者有意义,并有效地传达操作的结果.