gpt4 book ai didi

c# - 获取 .NET 枚举的 Windows 本地化

转载 作者:可可西里 更新时间:2023-11-01 11:53:21 24 4
gpt4 key购买 nike

是否有可能获得 .NET 枚举的 Windows 本地化?例如,我想获取 System.IO.Ports.Parity 值的翻译。

这是 System.IO.Ports.Parity:

public enum Parity
{
None = 0,
Odd = 1,
Even = 2,
Mark = 3,
Space = 4,
}

Windows 在 COM 端口属性窗口中将它们显示为 {"Чет", "Нечет", "Нет", "Маркер", "Пробел"}(我使用俄语版的 Windows 8)。

问题是,我不想对这些“翻译”进行硬编码。我想根据当前文化自动获取它们。

最佳答案

不,枚举没有本地化。

Enums 的全部要点是您可以使用描述性名称而不是值,因此如果您将值设置为 Mark 而不是 3<,它会使编码更容易

那么在比较值的时候,就不用记住3代表Mark

您不应该向用户显示 EnumValue.ToString(),但您可以创建自己的名为 strings 的资源文件,添加一个名为 的资源用适当的值标记,然后像这样查找值:

ResourceManager rm = strings.ResourceManager;
Debug.WriteLine(rm.GetString(System.IO.Ports.Parity.Mark.ToString()));

参见 How to use localization in C#Getting a string dynamically from strings resources获取更多信息。

但这确实需要您完成所有翻译工作。

关于c# - 获取 .NET 枚举的 Windows 本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23884874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com