将类转换为模板项 - 基于现有类创建Visual Studio项模板

时间:2016-10-17 01:47:53

标签: c# visual-studio templates t4

我知道Visual Studio有T4模板和代码生成,大多数答案都是从模板创建类的SO引用,而不是类中模板的反向过程。

我的问题是关于逆转这个过程,即我有一个框架,它广泛使用.NET 2.0中的自定义配方。

问:如何根据现有课程

创建项目/类模板

我已经探索了重构的选项等,但我正在寻找一种快速创建多个模板的方法。

1 个答案:

答案 0 :(得分:0)

简单的答案是反思 ......快速启动反思

您可以从加载或派生程序集开始

  • 加载程序集的示例

    Assembly assembly = new Assembly().LoadFrom([file path])
    // Use LoadFile to load multiple assemblies with the same identity
    
  • 派生程序集的示例

    Type t = typeof([simple type or class]);
    Assembly assembly = Assembly.GetAssembly(t);
    
  • 来自当前集会的示例

    Assembly assembly = Assembly.GetExecutingAssembly();        
    

从程序集中,您可以获取类型或模块

  • 类型的示例

    Type[] types = assembly.GetTypes();
    
  • 模块的例子

    Module[] modules = assembly.GetModules()
    

从类型或模块中,您可以加载属性或方法

  • 属性的示例

    PropertyInfo[] methods = myType.GetProperties();
    
  • 方法示例

    MethodInfo[] methods = myType.GetMethods();
    

反思比这更多......