例如:
- (1).SomeFunction().Equals("one")
- (2).SomeFunction().Equals("two")
在我正在使用的情况下,我真的只需要数字1-9,我应该只使用一个开关/选择案例吗?
更新我也不需要本地化.
更新2这是我最终使用的内容:
- Private Enum EnglishDigit As Integer
- zero
- one
- two
- three
- four
- five
- six
- seven
- eight
- nine
- End Enum
- (CType(someIntThatIsLessThanTen,EnglishDigit)).ToString()
枚举怎么样?
- enum Number
- {
- One = 1,// default value for first enum element is 0,so we set = 1 here
- Two,Three,Four,Five,Six,Seven,Eight,Nine,}
然后你可以输入像…这样的东西
- ((Number)1).ToString()
如果您需要本地化,则可以为每个枚举值添加DescriptionAttribute
.属性的Description属性将存储资源项的密钥的名称.
- enum Number
- {
- [Description("NumberName_1")]
- One = 1,so we set = 1 here
- [Description("NumberName_2")]
- Two,// and so on...
- }
- public static string GetDescription(object value)
- {
- DescriptionAttribute[] attributes = null;
- System.Reflection.FieldInfo fi = value.GetType().GetField(value.ToString());
- if (fi != null)
- {
- attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute),false);
- }
- string description = null;
- if ((attributes != null) && (attributes.Length > 0))
- {
- description = attributes[0].Description;
- }
- return description;
- }
这可以通过以下方式调用:
- GetDescription(((Number)1))
然后,您可以从资源文件中提取相关值,或者如果返回null则只调用.ToString().
编辑