使用静态 wpf 值转换器是一个坏主意吗?
我可以做一些事情,而不是在资源中声明转换器,例如
IsEnabled={Binding Path=SomeProp, Converter={x:Static namespace:Converter.Instance}}"
实例仅实例化一次(懒惰的sinlgeton),
但我担心在处理视图时保留对静态变量的引用可能会妨碍垃圾收集(i' m 使用 PRISM)。你怎么认为?
Instead of declaring the converter in the Resources, i can do something like
IsEnabled={Binding Path=SomeProp, Converter={x:Static namespace:Converter.Instance}}"
where Instance is instantiated only once (lazy sinlgeton)
But i'm worried about keeping references to static variables might get in the way of garbage collection when disposing the views (i'm using PRISM). What do you think?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
事实上,转换器的静态实例不会被垃圾收集,但它只是一个实例,并且典型的转换器没有(或很少)数据字段,因此可能无需担心...
转换器没有对视图的引用,所以视图的垃圾收集不应该成为问题。
Indeed the static instance of the converter won't be garbage collected, but it's just one instance, and typical converters have no (or few) data fields, so it's probably nothing to worry about...
The converter has no reference to the views, so it shouldn't be a problem for garbage collection of the views.