namespace Admin.NET.Core;
///
/// 动态作业编译
///
public class DynamicJobCompiler : ISingleton
{
///
/// 编译代码并返回其中实现 IJob 的类型
///
/// 动态编译的作业代码
///
public Type BuildJob(string script)
{
// 动态创建作业
var builder = new AssemblyCSharpBuilder("Admin.NET.Core")
{
Domain = DomainManagement.Random()
};
builder.Add(script);
return builder.GetAssembly().GetTypes().FirstOrDefault(u => typeof(IJob).IsAssignableFrom(u));
}
}