如何突破IDisposable类内部的using块

时间:2018-10-17 12:20:01

标签: c# using idisposable

我得到了一个带有以下构造函数的一次性类:

def client_type_ok
    return true if %w(ADT CHD).include?(@this_client['type'])

    @error_code_39 = true
    false
  end

它是这样使用的

 public MyClass(bool allowed){
    if(allowed) return;
    else { // leave outer using }
}

或者喜欢以下内容

using (new MyClass(false))
{
   DoSomething();
}

如何实现只有用(true)调用的将执行该块(aka DoSomething()),如果用(false)调用则将不执行该块?

2 个答案:

答案 0 :(得分:0)

为什么不基于布尔值

var b = true;// or false
using (new MyClass(b))
{
    if(b)
        DoSomething();
}

答案 1 :(得分:0)

由于先前的回答还不够,我建议向MyClass添加一个公共属性,该属性可用于获取布尔值并在using语句中对其进行检查。