public AcwModuleDescriptor( [NotNull] Type type, [NotNull] IAcwModule instance, bool isLoadedAsPlugIn) { Check.NotNull(type, nameof(type)); Check.NotNull(instance, nameof(instance)); if (!type.GetTypeInfo().IsAssignableFrom(instance.GetType())) { throw new ArgumentException($"Given module instance ({instance.GetType().AssemblyQualifiedName}) is not an instance of given module type: {type.AssemblyQualifiedName}"); } Type = type; Assembly = type.Assembly; Instance = instance; IsLoadedAsPlugIn = isLoadedAsPlugIn; _dependencies = new List <IAcwModuleDescriptor>(); }
public override void Initialize(ApplicationInitializationContext context, IAcwModule module) { (module as IOnApplicationInitialization)?.OnApplicationInitialization(context); }
public virtual void Shutdown(ApplicationShutdownContext context, IAcwModule module) { }
public override void Shutdown(ApplicationShutdownContext context, IAcwModule module) { (module as IOnApplicationShutdown)?.OnApplicationShutdown(context); }
public virtual void Initialize(ApplicationInitializationContext context, IAcwModule module) { }