C# GetType()中带有“";简单的;字体名称

C# GetType()中带有“";简单的;字体名称,c#,types,casting,C#,Types,Casting,我试图读取一个xml文件,在该文件中,除了其他参数外,还可以指定字段的类型。例如: <elements> <element> <elementType>int</elementType> <element> <elementType>string</elementType> </element> <elements> int 一串 现在,我

我试图读取一个xml文件,在该文件中,除了其他参数外,还可以指定字段的类型。例如:

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

int
一串

现在,我想通过使用type.GetType(value)来获取类型,例如,这里的值是“int”或“string”。例如,它适用于“System.String”或“System.Int32”,但我不希望用户输入确切的类型。这能以优雅的方式完成吗(没有开关大小写nonsene)?

不,你需要一些开关大小写-“胡说八道”或一本字典来为你进行映射


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

不,您需要一些开关大小写-“胡说八道”或一本字典来为您进行映射


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

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

  • 布尔 :System.Boolean

  • 字节 :System.Byte

  • 斯拜特 :System.SByte

  • 煤焦 :System.Char

  • 十进制 :十进制

  • 双重的 :系统。双人

  • 浮动 :系统。单个

  • int :System.Int32

  • 尤因 :System.UInt32

  • 长的 :System.Int64

  • 乌龙 :System.UInt64

  • 反对 :System.Object

  • 短 :System.Int16

  • 乌什特 :System.UInt16

  • 串 :System.String


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

      • 布尔 :System.Boolean

      • 字节 :System.Byte

      • 斯拜特 :System.SByte

      • 煤焦 :System.Char

      • 十进制 :十进制

      • 双重的 :系统。双人

      • 浮动 :系统。单个

      • int :System.Int32

      • 尤因 :System.UInt32

      • 长的 :System.Int64

      • 乌龙 :System.UInt64

      • 反对 :System.Object

      • 短 :System.Int16

      • 乌什特 :System.UInt16

      • 串 :System.String


      没有。它们只是C#编译器的别名。用户为什么要输入类型名?@Amy Internal platform effect。OP似乎正在创建脚本或规则引擎之类的东西。如果业务需要且用户同意;为什么不呢。它们只是C#编译器的别名。用户为什么要输入类型名?@Amy Internal platform effect。OP似乎正在创建脚本或规则引擎之类的东西。如果业务需要且用户同意;为什么不呢?