2013-06-24 92 views
0

我想讀取超出其他參數的字段類型可以給出的xml文件。例如:帶有「簡單」類型名稱的GetType()

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

現在我想用type.GetType(值),其中值是「int」或「串」例如要獲得類型。它適用於「System.String」或「System.Int32」,但我不希望用戶輸入確切的類型。這可以用一種優雅的方式來完成嗎(無開關情況)?

+2

不。它們只是C#編譯器的別名。 – nothrow

+0

爲什麼用戶輸入一個類型名稱? – Amy

+2

@Amy內心平臺效應。 OP似乎在創建一些類似於腳本或規則引擎的東西。如果業務需要和用戶同意;爲什麼不。 – CodeCaster

回答

5

不,你需要有一些switch-case-「廢話」或爲你做映射的字典。

那些不是.NET類型,那些映射到.NET類型的C#關鍵字。

0

據我所知,沒有辦法做到這一點。類型別名的完整列表可以在here找到。您可以輕鬆地將類型字典包含在解決方案中,以別名字符串名稱。下面是當前列表:

  • 布爾 :System.Boolean

  • 字節 :System.Byte

  • 爲sbyte :System.SByte

  • 字符 :系統.Char

  • 十進制 :System.Decimal

  • 雙 :System.Double

  • 浮子 :System.Single

  • INT :System.Int32

  • UINT :系統。 UInt32

  • 長 :System.Int64

  • ULONG :

    System.UInt64形式
  • 對象 :System.Object的

  • 短 :System.Int16

  • USHORT :System.UInt16形式

  • string :System.String

相關問題