int IMyModules.CallInitializers(string moduleKey, IShouldRunOnSystemStart[] instances) { var count = 0; foreach (var instance in instances) { var ok = call_initializer(moduleKey, instance); if (ok == false) continue; count++; } return count; }
private bool call_initializer(string moduleKey, IShouldRunOnSystemStart instance) { try { instance.SystemIsBeingStarted(moduleKey, _log); return true; } catch (Exception ex) { _log.Error(ex, "MyModules: failed to initialize instance of type '{0}'", instance.GetType().Name); return false; } }
IShouldRunOnSystemStart[] IMyModules.OrderInitializers(IShouldRunOnSystemStart[] instances) { var query = from instance in instances orderby instance.InitializationOrder select instance; return query.ToArray(); }