我正在处理代码生成问题,并遇到了与泛型相关的问题。以下是导致我遇到问题的“简化”版本。如何使用反射获得正确的文本定义的泛型类型?
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