Is there a better deterministic disposal pattern than nested “using”s?

前端 未结 10 1452
难免孤独
难免孤独 2021-02-18 18:23

In C#, if I want to deterministically clean up non-managed resources, I can use the \"using\" keyword. But for multiple dependent objects, this ends up nesting further and furt

10条回答
  •  既然无缘
    2021-02-18 18:50

    The using statement is syntactic sugar that converts to:

       try
       {
          obj declaration
          ...
       }
       finally
       {
          obj.Dispose();
       }
    

    You can explicitly call Dispose on your objects, but it won't be as safe, since if one of them throws an exception, the resources won't be freed properly.

提交回复
热议问题