簡體   English   中英

退出方法時不使用而處置所有IDisposables?

[英]Dispose all IDisposables when exiting the method without using?

也許我太懶了,但是在方法中using s嵌套會使該方法看起來復雜且難以理解。 有什么方法可以使由於異常而在退出方法時自動釋放在方法中創建的所有IDisposable對象?


PS。 感謝您的反饋。 我現在知道現在沒有這樣的功能。 但是,從理論上講,以下假設語法是否合理?

void SomeMethod()
{
     autodispose var com = new SQLCommand();
     ...
     autodispose var file = new FileStream();
     ....
     autodispose var something = CreateAnObjectInAMethod(); 
     ....
}

出於任何原因退出該方法時,所有三個對象都會自動處置。

不,但是你可以像這樣整理一下...

這個...

using (var conn = new SqlConnection("blah"))
{
    using (var cmd = new SqlCommand("blah"))
    {
        using (var dr = cmd.ExecuteReader())
        {

        }
    }
}

成為...

using (var conn = new SqlConnection("blah"))
using (var cmd = new SqlCommand("blah"))
using (var dr = cmd.ExecuteReader())
{

}

暫無
暫無

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

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