c# – 重用GDI对象的做法不好吗? (或:如何使用许多嵌套使用块而不会头疼?)

c# – 重用GDI对象的做法不好吗? (或:如何使用许多嵌套使用块而不会头疼?),第1张

概述我正在为用户控件编写一个相当复杂的绘制方法,涉及大量的绘图代码.我知道所有GDI资源都需要妥善处理,所以我将每个资源包装在一个使用块中. 但是当我注意到我使用三块使用三块不同的SolidBrushes时,我想知道我是否不能再重复使用它们.创建一个SolidBrush,用它绘制,指定不同的颜色,绘制其他东西等.然后在最后放置一个Dispose(). 这样的事情是可取的还是我在这里想的太难了?我并不特 我正在为用户控件编写一个相当复杂的绘制方法,涉及大量的绘图代码.我知道所有GDI资源都需要妥善处理,所以我将每个资源包装在一个使用块中.

但是当我注意到我使用三块使用三块不同的SolIDBrushes时,我想知道我是否不能再重复使用它们.创建一个SolIDBrush,用它绘制,指定不同的颜色,绘制其他东西等.然后在最后放置一个dispose().

这样的事情是可取的还是我在这里想的太难了?我并不特别喜欢使用彼此嵌套的块太多.虽然一个很好的模式,但它有时会妨碍可读性.

解决方法 好吧,重新使用是一种优化,它可能为时过早,因此:是的,这是一种不好的做法.我会等待明显的性能问题浮出水面,然后找出瓶颈.对于管理这些组件状态的快速增加的复杂性,您将交换一些(未知)性能增益.

另外,一个几乎被接受的嵌套使用块的形式如下所示:

using (var a = ...) using (var b = ...) using (var c = ...) { }
总结

以上是内存溢出为你收集整理的c# – 重用GDI对象的做法不好吗? (或:如何使用许多嵌套使用块而不会头疼?)全部内容,希望文章能够帮你解决c# – 重用GDI对象的做法不好吗? (或:如何使用许多嵌套使用块而不会头疼?)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1215580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存