我正在尝试读取xml文件,除了其他参数之外,还可以给出字段的类型。例如:
<elements>
<element>
<elementType>int</elementType>
<element>
<elementType>string</elementType>
</element>
<elements>
现在我想通过使用type.GetType(value)来获取类型,其中value是“int”或“string”。它适用于“System.String”或“System.Int32”,但我不希望用户输入确切的类型。这可以以一种优雅的方式完成(没有开关盒 - 非 - 非)吗?
答案 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