是否可以使用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)
那么还有另一种方法吗?也许创建一个自定义类型?
我正在编写一个使用很多枚举的多语言应用程序,我希望实现以下目标:
我热衷于使用属性+资源文件来修饰枚举,以便可以从运行时类型信息中访问本地化字符串.在使用静态成员而不是枚举声明静态类之前,我一直沿着这条路走下去,但是这解决了很多问题.
某种基于TypeDescriptor的机制是否合适?甚至可能吗?
此外 - 如何以干净,通用,可重复使用的方式完成目标#3?
自从提出这个问题以来,我已经完成了需要可本地化的枚举显示的开源库.我选择了实现TypeConverters的技术.完整资料来源于http://measures.codeplex.com/
HI
,我有以下枚举
public enum Priority : byte
{
A=1,
B+ = 2,
B=4,
C=8,
D=16,
E=32
}
Run Code Online (Sandbox Code Playgroud)
我想添加B+枚举,但它给了我错误
c# ×3
enums ×2
.net ×1
c#-4.0 ×1
custom-type ×1
grid ×1
localization ×1
numeric ×1
properties ×1