/// <summary> /// 执行任务 /// </summary> /// <returns></returns> public override bool Execute() { var logger = new Logger(Log); if (File.Exists(TargetAssembly) == false) { logger.Message($"找不到文件编译输出的程序集{TargetAssembly}"); return(true); } logger.Message(GetType().AssemblyQualifiedName); try { using var assembly = new CacheAssembly(TargetAssembly, GetSearchDirectories().Distinct(), logger, true, true); assembly.WriteProxyTypes(); return(true); } catch (Exception ex) { logger.Error(ex.ToString()); return(false); } }
public CacheProxyType(CacheAssembly assembly, CacheInterface @interface, FuncHelper helper, IReadOnlyDictionary <string, MethodInfo> cacheHelperMethods) : base(assembly) { _interface = @interface; _helper = helper; _cacheHelperMethods = cacheHelperMethods; }
public CacheInterface(CacheAssembly assembly, TypeDefinition @interface) : base(assembly) { Type = @interface; }
protected CacheMetadata(CacheAssembly assembly) { Module = assembly.MainModule; _knowTypes = assembly.KnowTypes; }