是否有任何枚舉在C#中持有C#數據類型。所以我可以在一個接受用戶的數據類型(int,string)的類中定義一個屬性。C#枚舉的數據類型
回答
在BCL中沒有這樣的東西。
爲什麼你需要它?
在命名空間System.ComponentModel.DataAnnotations中有DataType枚舉,但它具有類似PhoneNumber,EmailAddress等的值。 – Novice 2010-11-17 12:00:22
@Daniel Joseph - 這些不僅僅是_primitive_類型,正如您所詢問的那樣。而且這個Enum支持ASP.NET MVC和動態數據控件(因此它們也可以在_other_平臺上註釋使用)。 – Oded 2010-11-17 12:02:21
原始類型有'System.TypeCode'枚舉。 – 2018-02-12 16:15:10
根據你的編輯聲音,你需要generics但我仍然質疑爲什麼一個屬性可以接受是一個int或一個字符串。這些都是非常不同的事情,只能導致上傳。
你只是想將一個枚舉值與一個字符串關聯嗎?您可能想要使用Description
屬性。
public enum MyEnum
{
[Description("My first value.")]
FirstValue,
[Description("My second value.")]
SecondValue,
[Description("My third value.")]
ThirdValue
}
private string GetEnumDescription(Enum value)
{
FieldInfo fi = value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
if (attributes.Length > 0)
{
return attributes[0].Description;
}
else
{
return value.ToString();
}
}
定義映射的另一種可能性是使用Dictionary<int, string>
。
有一個類型「IsPrimitive」的布爾型屬性希望這可以幫助你。
系統中有TypeCode Enumeration。看起來它涵蓋了所有的基本類型。
可以使用Type.GetTypeCode()獲取任何對象的TypeCode:
TypeCode typeCode = Type.GetTypeCode(anObject.GetType());
這應該是被接受的答案。 – 2018-02-12 16:15:29
- 1. C語言枚舉數據類型?
- 2. Elasticsearch - 枚舉數據類型
- 3. C#枚舉類型安全
- 4. 枚舉類用C型串++
- 5. 枚舉類型在C++
- 6. C++ - 映射類型枚舉
- 7. TinyInt作爲枚舉的數據類型
- 8. EMF中的枚舉數據類型
- 9. 類型枚舉
- 10. Ç枚舉(枚舉類型定義)的
- 11. Node.js native枚舉中的枚舉類型
- 12. 枚舉C++類
- 13. 使用枚舉數據類型
- 14. 虛擬數據類型/枚舉
- 15. 發送JSON與枚舉數據類型
- 16. 卡桑德拉枚舉數據類型
- 17. 枚舉數據類型在bash
- 18. 埃宋:解析枚舉數據類型
- 19. 枚舉數據類型內存分配
- 20. SQL alter names - 枚舉數據類型..?
- 21. 枚舉成員數據類型
- 22. C#:基於不同枚舉類型的枚舉值返回枚舉值
- 23. C中的接口中的枚舉數據類型#
- 24. 枚舉vs強類型枚舉
- 25. 枚舉拋出「不是枚舉類型」
- 26. 匹配枚舉類型數據的鍵盤輸入[C++]
- 27. C++中枚舉類型數據的大小是多少?
- 28. 枚舉類型C的別名#
- 29. C++中的枚舉類型幫助
- 30. 什麼是Objective-C的枚舉類型
我在爲什麼你要想到這有點害怕,但沒有我不認爲有是... – annakata 2010-11-17 11:59:43
你需要在C#中的工會等效嗎? – 2010-11-17 12:01:23