在每个图形对象上调用dispose还是只调用'Graphics'对象?

时间:2009-11-15 18:16:22

标签: asp.net

我是否也需要这样做:

bitmap.dispose();
Brush.dispose();
brush2.dispose();

或者仅仅这样做就足够了:

graphics.dispose();

1 个答案:

答案 0 :(得分:1)

总之;您应该在您创建实现Dispose的类型的所有实例上调用IDisposable。因此,如果您创建一个Graphics对象,并在其上绘制Brush,则两者都应该被放置。

要配置的的一个示例是传递给OnPaint方法的图形对象。此实例由框架创建,可以传递给其他几个方法调用。此外,BrushesSystemBrushes中的画笔以及PensSystemPens中的画笔都是共享的,您的代码应该(并且可能)不会处理这些画笔。