我正在處理代碼生成問題,並遇到了與泛型相關的問題。以下是導致我遇到問題的「簡化」版本。如何使用反射獲得正確的文本定義的泛型類型?
Dictionary<string, DateTime> dictionary = new Dictionary<string, DateTime>();
string text = dictionary.GetType().FullName;
與上面的代碼片斷text
值如下:(換行增加了更好的可讀性)
System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.DateTime, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
有沒有辦法讓類型名稱( type
)以不同的格式解析上面的字符串?我希望以下結果爲text
:
System.Collections.Generic.Dictionary<System.String, System.DateTime>
請注意,如果您刪除`.FullName`和使用'的ToString()`不是,你得到的「文本「`System.Collections.Generic.Dictionary`2 [System.String,System.DateTime]``這是更具可讀性,並接近你想要的。 – 2013-10-01 12:39:31