DynamicJobCompiler.cs 737 B

1234567891011121314151617181920212223
  1. // 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
  2. //
  3. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
  4. namespace Admin.NET.Core;
  5. /// <summary>
  6. /// 动态作业编译
  7. /// </summary>
  8. public class DynamicJobCompiler : ISingleton
  9. {
  10. /// <summary>
  11. /// 编译代码并返回其中实现 IJob 的类型
  12. /// </summary>
  13. /// <param name="script">动态编译的作业代码</param>
  14. /// <returns></returns>
  15. public Type BuildJob(string script)
  16. {
  17. var jobAssembly = Schedular.CompileCSharpClassCode(script);
  18. var jobType = jobAssembly.GetTypes().FirstOrDefault(u => typeof(IJob).IsAssignableFrom(u));
  19. return jobType;
  20. }
  21. }