语言更改后不刷新静态变量

时间:2019-05-03 06:29:52

标签: c#

我有以下资源文件:

public static string Msg = "My Message is" + MyProgram.Properties.Resources.MsgContent + ".";

在主线程中,我正在运行时更改语言,稍后再获取变量值。静态变量Msg没有提供正确的语言连接。 为了解决这个问题,我不得不创建以下每次需要更改区域性时都要调用的函数:

public static void RefreshVariablesWithLanguage()
{
  Msg = "My Message is" + MyProgram.Properties.Resources.MsgContent + ".";
}

还有什么更优雅的方法可以使静态变量在返回值之前重新考虑语言。

1 个答案:

答案 0 :(得分:4)

可以使用如下属性代替方法:

public string MsgContent => MyProgram.Properties.Resources.MsgContent;

您可以通过这种方式使用它;

public static string Msg = "My Message is" + MsgContent + ".";