Q
C#枚举问题
0
A
回答
5
C#枚举编译成密封类,继承自Enum,公共静态字段带有枚举成员的名称,因此,您要求编译器在您的案例中将枚举值或50/50命名为字段。
枚举值在命名时与属性和字段具有相同的限制。
0
“50/50”值?你的意思是一个字符串值?不,C#不能这样做。
1
是啊,肯定是可以
enum SomeEnum
{
Value = 1 // 50/50!
}
枚举值是常量整型。
1
如果你希望你的价值的名称是50/50,那么你的运气不好。然而,您可以定义名称为FiftyFifty的值,(在我看来)这个名称就像描述性名称一样。
3
您可以使用描述属性将枚举的自定义值存储在描述中,然后使用它。
枚举:
public enum MyEnum
{
[Description("50/50")]
Enum1 = 1,
[Description("Whatever")]
Enum2 = 2,
}
方法来读取使用反射存储在描述属性的定制值。
private static string GetEnumCustomValue(Enum value)
{
FieldInfo enumField = value.GetType().GetField(value.ToString());
var attributes =
(DescriptionAttribute[])enumField.GetCustomAttributes(typeof(DescriptionAttribute)), false);
if (attributes.Length > 0)
{
return attributes[0].Description;
}
return value.ToString();
}
+0
我会试试这个,谢谢! – 2010-11-17 15:59:14
+0
感谢这种方法,我借用它是为了我自己的需要。 :) – 2013-01-18 16:43:25
0
dhinesh通过使用Description属性给出一个很好的提示。
我建议以下枚举
public enum Chances
{
[Description("No guess available")]
NotDefined = 0,
[Description("No chance")]
None,
[Description("50/50")]
FiftyFifty,
[Description("100%")]
Always
}
为了让后来的描述出来的,你应该看看到这些问题:
相关问题
- 1. C#枚举索引问题
- 2. 2 C枚举问题
- 3. ConsoleColor枚举问题
- 4. 约枚举问题
- 5. hyperjaxb3:枚举问题
- 6. 类C++中的枚举声明,在类中枚举的问题
- 7. Objective C快速枚举问题
- 8. WCF - 通用库枚举问题 - C#
- 9. 枚举证书问题(X509Certificate2)
- 10. CakePHP SimpleTest枚举问题
- 11. 枚举编程问题
- 12. 简单枚举问题
- 13. 枚举时间问题
- 14. java 1.6枚举问题com.ibm.ws.webservices.engine.enum.Style.WRAPPED
- 15. 枚举,DataContracts和WCF问题
- 16. 问题有关WarpMode枚举
- 17. 枚举范围问题
- 18. 易ç枚举问题
- 19. 枚举“复制”问题
- 20. GWT和枚举的问题
- 21. 从Swift访问C++枚举
- 22. 价值转换问题:从枚举类型“枚举NSEventMask”
- 23. C++和枚举
- 24. C++枚举
- 25. C++枚举
- 26. 枚举C++类
- 27. C++与枚举
- 28. 枚举在C++
- 29. C#。枚举
- 30. Objective-C枚举
技术上是真的,但看到Dhinesh的答案是一个很好的方法来获得o严谨的海报想要。 – d219 2017-11-11 11:22:20