相关疑难解决方法(0)

如何使用数字创建枚举?

是否可以使用C#中的数字来创建枚举?在我的程序中,我有一个变量Gain,它只能设置为1,2,4和8.我使用一个propertygrid控件来显示和设置这个值.如果我要创建这样的枚举...

 private enum GainValues {One, Two, Four, Eight}
Run Code Online (Sandbox Code Playgroud)

我创建了GainValues类型的增益变量,然后propertygrid中的下拉列表只显示增益变量的可用值.问题是我希望增益值以数字方式读取而不是单词.但我无法创建这样的枚举:

 private enum GainValues {1,2,4,8}
Run Code Online (Sandbox Code Playgroud)

那么还有另一种方法吗?也许创建一个自定义类型?

c# grid properties numeric custom-type

11
推荐指数
3
解决办法
3万
查看次数

为Enums提供本地化的最佳方式是什么?

我正在编写一个使用很多枚举的多语言应用程序,我希望实现以下目标:

  1. 将枚举名称显示为本地化字符串
  2. 使用属性提供本地化描述
  3. 启用对枚举的语言敏感解析回到int值

我热衷于使用属性+资源文件来修饰枚举,以便可以从运行时类型信息中访问本地化字符串.在使用静态成员而不是枚举声明静态类之前,我一直沿着这条路走下去,但是这解决了很多问题.

某种基于TypeDescriptor的机制是否合适?甚至可能吗?

此外 - 如何以干净,通用,可重复使用的方式完成目标#3?


自从提出这个问题以来,我已经完成了需要可本地化的枚举显示的开源库.我选择了实现TypeConverters的技术.完整资料来源于http://measures.codeplex.com/

c# enums localization internationalization

6
推荐指数
1
解决办法
6431
查看次数

显示枚举的文本

HI
,我有以下枚举

public enum Priority : byte 
    {
        A=1,
        B+ = 2,
        B=4,
        C=8,
        D=16,
        E=32
    }
Run Code Online (Sandbox Code Playgroud)

我想添加B+枚举,但它给了我错误

.net c# enums c#-4.0

3
推荐指数
2
解决办法
1万
查看次数