编辑:我想将Type变量转换为其c#表示。
我最近想使用Type.FullName属性自动创建c#脚本,但是当我尝试使用Type.FullName时,它返回加号(+)而不是点(。)。
这是一个例子。
class Outer
{
class Inner
{
}
}
现在,如果您想访问Inner
课程,则应Outer.Inner
访问Inner
课程。
Type.FullName输出:
Outer+Inner
虽然它为命名空间使用了一个点。
我知道我可以通过执行一个简单的Replace调用来修复它,但它不是唯一的问题,因为Type.FullName产品更加不可接受的字符,我想解决它们。
现在,我如何将Type.FullName的语法转换为C#语法?
以下是Type.FullName的非法语法示例:
System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
虽然它应该是:
System.Collections.Generic.List<System.String>
请参阅MSDN文档中的更多示例。