切换资源的 switch 语句可以更通用吗?
Could a switch statement that switches resources be more generic?
我正在开发一个具有选择语言按钮的信息亭应用程序。
之后的按钮有语言标志的图片及其名称。现在我正在使用 switch 语句来设置图像,但我希望它更通用,这样在添加语言时我就不必在任何地方更改代码。我从我的应用程序资源中获取图像,我想保持这种状态。
我能想到的唯一方法是从文件中检索图像并根据它们所对应的语言字符串命名它们。语言字符串的格式为 "en-US"。此外,在调用此函数之前,在函数中声明了语言字符串。
private void SetLanguageButton()
{
switch (language)
{
case "en-US":
buttonLanguage.Image = Properties.Resources.en_US;
break;
case "hu-HU":
buttonLanguage.Image = Properties.Resources.hu_HU;
break;
case "sk-SK":
buttonLanguage.Image = Properties.Resources.sk_SK;
break;
}
buttonLanguage.Text = resourceManager.GetString("languageName", cultureInfo);
}
如果您有文化化资源,您可以获取如下数据
buttonLanguage.Image =
(Icon)Properties.Resources.ResourceManager.GetObject("langicon", cultureInfo);
buttonLanguage.Text =
Properties.Resources.ResourceManager.GetString("langname", cultureInfo);
我正在开发一个具有选择语言按钮的信息亭应用程序。
之后的按钮有语言标志的图片及其名称。现在我正在使用 switch 语句来设置图像,但我希望它更通用,这样在添加语言时我就不必在任何地方更改代码。我从我的应用程序资源中获取图像,我想保持这种状态。
我能想到的唯一方法是从文件中检索图像并根据它们所对应的语言字符串命名它们。语言字符串的格式为 "en-US"。此外,在调用此函数之前,在函数中声明了语言字符串。
private void SetLanguageButton()
{
switch (language)
{
case "en-US":
buttonLanguage.Image = Properties.Resources.en_US;
break;
case "hu-HU":
buttonLanguage.Image = Properties.Resources.hu_HU;
break;
case "sk-SK":
buttonLanguage.Image = Properties.Resources.sk_SK;
break;
}
buttonLanguage.Text = resourceManager.GetString("languageName", cultureInfo);
}
如果您有文化化资源,您可以获取如下数据
buttonLanguage.Image =
(Icon)Properties.Resources.ResourceManager.GetObject("langicon", cultureInfo);
buttonLanguage.Text =
Properties.Resources.ResourceManager.GetString("langname", cultureInfo);