获取.cs文件的类型声明

时间:2017-01-31 09:07:38

标签: c# .net-core

我试图编写一个控制台应用程序,该应用程序使用.net核心1.1框架的多个文件的System.Type声明。

我的用例是我启动应用程序并将cs文件路径设置为参数。

sampleApp.exe d:\downloads\SomeClassA.cs e:\sample\IExSample.cs

然后我想在我的应用程序中使用cs文件的类型。不知何故喜欢:

public static void Main(string[] args) {

    var types = new List<System.Type>();

    foreach (var arg in args) {

        // Here I need some help ;-)
        System.Type typeOfArg = ?;

        types.Add(typeOfArg);
    }

   // do more magic with filled type list
}

1 个答案:

答案 0 :(得分:1)

您无法传入* .cs文件并确定类型。您可以使用Roslyn收集元数据(类,接口,基类型等)。这是一个可以帮助您的链接。 https://msdn.microsoft.com/en-us/magazine/mt790203.aspx

它使用T4进行模板生成javascipt代码。如果您愿意,可以在项目中使用T4。但元数据的底层提供者是通过Roslyn完成的。只需提取您感兴趣的代码部分即可。