【问题标题】:Using boolean values in resource file在资源文件中使用布尔值
【发布时间】:2012-08-13 05:30:43
【问题描述】:

在我正在开发的应用程序中,有一个首选项可以启用或禁用,以将所有值从英制转换为公制。即使在应用程序关闭并重新打开后,我也需要能够保存首选项。我正在考虑的方法是在资源 (.resx) 文件中使用布尔值,我可以设置复选框被选中或未选中时的值。然后,当程序启动时,它可以简单地检查资源布尔值是什么(真/假)并相应地设置复选框。

我的问题是,当我尝试使用 bool 或 Boolean 类型的资源时,当我选中该框时,应用程序崩溃并且我收到有关内存的错误,我认为这是堆栈溢出异常。

我的问题是,是否无法在资源 [.resx] 文件中使用和/或修改布尔值,还是我做错了?如果不可能,有什么替代方法可以做我想做的事情?

【问题讨论】:

  • 不要让我们猜测,也不要依赖记忆。向我们展示您遇到的异常情况。
  • 如何将数据重新设置到资源文件中?

标签: c# wpf resources boolean


【解决方案1】:

如果这是您的问题,请不要使用布尔值。

如果你选择 int 然后是 0 或 1 或

bool res = Convert.ToBoolean(1);

bool res = Convert.ToBoolean(0);

如果你选择字符串,那么“true”或“false”。

bool res = Convert.ToBoolean("true");

bool res = Convert.ToBoolean("false");

【讨论】:

  • 我实际上曾考虑过使用二进制 0/1 选项,但这并不完全是“正确”的做法。但是,我不知道 Convert.ToBoolean() 方法 - 我会尝试这种方式...谢谢!
  • 我刚刚尝试过这种方式,但我遇到了同样的问题。当我尝试设置资源的值时,我得到了 StackOverflowException。难道不能设置资源值,只获取它们吗?
【解决方案2】:

创建User Settings。它们易于使用并为您处理类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 2022-07-27
    • 1970-01-01
    • 2020-05-04
    相关资源
    最近更新 更多