gpt4 book ai didi

.net - WPF Singleton ValueConverters 性能影响

转载 作者:行者123 更新时间:2023-12-04 16:50:00 25 4
gpt4 key购买 nike

我一直在 WPF 中使用 Singleton 值转换器。但最近我和一位同事发生了争执,他说使用 valueconverters 的单例实例是不好的,因为它们只会被应用程序域卸载处理。他建议单例转换器可能仅在页面保持加载直到应用程序卸载的情况下派上用场。很想知道这里WPF高手的看法。

编辑(举例):我有一个像

这样的转换器
public class ABCConverter : IMultiValueConverter
{
private static ABCConverter _instance;

public static ABCConverter Instance
{
get { return _instance ?? (_instance = new ABCConverter()); }
}

public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
return true;
}

public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
return false;
}
}

我目前在 xaml 中使用它作为

Converter="{x:Static conv:ABCConverter.Instance}"

提前致谢。

拉吉

最佳答案

你在这里争论的是微观优化。除非您的值转换器非常庞大,否则它消耗的内存将非常小。

不要过早优化。值转换器的“标准”模式是在每个绑定(bind)中创建一个新实例,即避免单例。如果您确实发现自己遇到内存问题,请在那个时候进行优化。使用分析工具确定问题出在哪里并专门针对它们。我敢打赌,您的值转换器不会是内存问题的根本原因。

关于.net - WPF Singleton ValueConverters 性能影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20738220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com