Joe*_*oey 3 c# gdi+ dispose using-statement
我正在为用户控件编写一个相当复杂的绘制方法,涉及大量的绘图代码.我知道所有GDI +资源都需要妥善处理,所以我将每个资源包装在一个using块中.
但当我注意到我使用using了三个不同的三个块时,SolidBrushes我想知道我是否不能再重复使用它们.创建一个SolidBrush,用它绘制,分配不同的颜色,绘制其他东西等.然后放在Dispose()最后.
这样的事情是可取的还是我在这里想的太难了?我并不特别喜欢using彼此嵌套的太多块.虽然一个很好的模式,但它有时会妨碍可读性.
好吧,重新使用是一种优化,它可能为时过早,因此:是的,这是一种不好的做法.我会等待明显的性能问题浮出水面,然后找出瓶颈.对于管理这些组件状态的快速增加的复杂性,您将交换一些(未知)性能增益.
另外,一个几乎被接受的嵌套使用块的形式如下所示:
using (var a = ...)
using (var b = ...)
using (var c = ...)
{
}
Run Code Online (Sandbox Code Playgroud)