带有“简单”类型名称的GetType()

时间:2013-06-24 15:35:04

标签: c# types casting

我正在尝试读取xml文件,除了其他参数之外,还可以给出字段的类型。例如:

<elements>
   <element>
      <elementType>int</elementType>
   <element> 
      <elementType>string</elementType>
   </element>
<elements>

现在我想通过使用type.GetType(value)来获取类型,其中value是“int”或“string”。它适用于“System.String”或“System.Int32”,但我不希望用户输入确切的类型。这可以以一种优雅的方式完成(没有开关盒 - 非 - 非)吗?

2 个答案:

答案 0 :(得分:5)

不,你需要一些switch-case-“废话”或者为你做映射的字典。

这些不是.NET类型,它们是映射到.NET类型的C#关键字。

答案 1 :(得分:0)

据我所知,没有办法做到这一点。可以找到类型别名的完整列表here。您可以轻松地在解决方案中包含类型字典以别名字符串名称。这是当前列表:

  • BOOL :System.Boolean

  • 字节 :System.Byte

  • 为sbyte :System.SByte

  • 炭 :System.Char

  • 小数 :System.Decimal

  • 双 :System.Double

  • 浮 :System.Single

  • INT :System.Int32

  • UINT :System.UInt32

  • 长 :System.Int64

  • ULONG :System.UInt64

  • 对象 :System.Object

  • 短 :System.Int16

  • USHORT :System.UInt16

  • 的字符串 :System.String