将类型转换为其C#表示

时间:2017-10-05 12:25:55

标签: c# .net types

编辑:我想将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文档中的更多示例。

Try it Online

Type.FullName Property - MSDN Documentation

0 个答案:

没有答案