如何从动态对象生成C#类代码?

时间:2019-05-17 19:57:54

标签: c# dynamic roslyn t4

我需要执行以下步骤:

  • 解析一个c#.cs文件
  • 找到所有返回JsonResult的公共类方法
  • 如果JsonResult是使用动态对象创建的,则创建一个具有定义动态对象的类定义的cs文件

例如,来自以下cs代码文件:

public partial class HomeController: Controller
{
   public JsonResult MyMethod()
   {
      var result = new 
      {
         Result = false,
         ErrorMessage = "Test"
      };

      return Json(result);
   }
}

我需要生成另一个CS文件,如下所示:

public partial class HomeController: Controller
{
   public class MyMethodResult
   {
      public bool Result {get;set;}
      public string ErrorMessage {get;set;}
   }
}

可以使用T4模板或Roslyn吗?

如何将动态对象转换为强类型的类定义?

谢谢

0 个答案:

没有答案