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