我已经在互联网上看到了这方面的几个主题,但我觉得它们都不适用于我的情况......要么就是这样,要么我只是不知道他们的一件事(很可能)。
问题是:我正在为转换器方法编写一个测试,"转换"枚举到适当的SolidColorBrush。
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { Brush result = new SolidColorBrush(Colors.White); if (value != null) { switch ((InstallationStatus)value) { case InstallationStatus.Draft: result = new SolidColorBrush(Colors.DarkGray); break; case InstallationStatus.Ready: result = new SolidColorBrush(Colors.Green); break; case InstallationStatus.Uploaded: result = new SolidColorBrush(Colors.Orange); break; case InstallationStatus.Error: result = new SolidColorBrush(Colors.Red); break; default: break; } } return result; }
从应用程序的视图调用时,它可以自行运行。 我也有一个测试方法,基本上是这样做的:
InstallationStatusBrushConverter converter = new InstallationStatusBrushConverter(); object result = converter.Convert(null, null, null, null);
测试方法调用Convert,它尝试实例化结果字段,但抛出UnauthorizedAccessException ... 有没有人知道这里发生了什么?
答案 0 :(得分:0)
Can CultureInfo.CurrentCulture ever be null?
可能的错误来源 - System.Globalization.CultureInfo
不应为null。相反,在函数参数中,将culture
参数更改为System.Globalization.CultureInfo.CurrentCulture