簡體   English   中英

如何從 IDisposable 類內部突破使用塊

[英]How to break out of using block from inside IDisposable class

我得到了一個帶有以下構造函數的一次性類:

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

它是這樣使用的

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

或者喜歡以下

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

如何實現只有用 (true) 調用的那個才會執行塊(又名 DoSomething()),如果用 (false) 調用它就不會執行塊?

為什么不基於布爾值

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

由於之前的答案還不夠,我建議向 MyClass 添加一個公共屬性,該屬性可用於獲取布爾值並在 using 語句中進行檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM