2

我正在创建一个Windows PhoneMessageBox.Show("Same error message")应用程序,我发现自己多次编写相同的内容。例如

“无法连接到服务器”

当用户没有互联网访问权限时会发生这种情况。

有没有什么地方可以放它,以便我写一次文本并在整个地方获取相同的文本?

我可以写一个静态类,但也许有一个文件呢?

4

3 回答 3

3

有没有什么地方可以放它,以便我写一次文本并在整个地方获取相同的文本?

是的,有一种专门用于此目的的特殊文件,称为strings.resx. 它让你写

MessageBox.Show(strings.ServerNotFound);

代替

MessageBox.Show("Server not found");

使用的额外好处(实际上,预期目的)strings.resx是您的应用程序变得易于本地化(请参阅此问题的答案):添加正确的翻译和设置当前语言环境是更改应用程序显示的所有字符串所需的全部内容用户提供适当的本地翻译。

于 2013-02-10T12:27:47.373 回答
2

如果你希望它最终是多语言的,我会选择 Resource.resx 文件。

如果没有,您可以寻求各种解决方案:

  • 将字符串保留在它们最有意义的地方,在你使用它们的类中
  • 将它们全部存储在一个专门的类中

喜欢:

class MyClass 
{
    private static string MyString = "blah";
    // other meaningful stuff
}

或者:

public class MyStaticStrings
{
    public static string MyString = "blah1";
    public static string AnotherString = "blah2";
}
于 2013-02-10T12:19:49.313 回答
1

您可以在 App 类的 App.xaml.cs 页面中创建一个静态变量,以便您可以在整个应用程序中访问它。

于 2013-02-10T12:20:55.467 回答