private void ProcessLateBoundModel(ComponentModel model) { var commission = new LateBoundCommissionConcerns(); if (model.Services.Any(s => s.Is <IInitializable>())) { model.Lifecycle.Add(InitializationConcern.Instance); } else { commission.AddConcern <IInitializable>(InitializationConcern.Instance); } #if FEATURE_ISUPPORTINITIALIZE if (model.Services.Any(s => s.Is <ISupportInitialize>())) { model.Lifecycle.Add(SupportInitializeConcern.Instance); } else { commission.AddConcern <ISupportInitialize>(SupportInitializeConcern.Instance); } #endif if (commission.HasConcerns) { model.Lifecycle.Add(commission); } if (model.Services.Any(s => s.Is <IDisposable>())) { model.Lifecycle.Add(DisposalConcern.Instance); } else { var decommission = new LateBoundDecommissionConcerns(); decommission.AddConcern <IDisposable>(DisposalConcern.Instance); model.Lifecycle.Add(decommission); } }
private void ProcessLateBoundModel(ComponentModel model) { var commission = new LateBoundCommissionConcerns(); if (model.Services.Any(s => s.Is<IInitializable>())) { model.Lifecycle.Add(InitializationConcern.Instance); } else { commission.AddConcern<IInitializable>(InitializationConcern.Instance); } if (model.Services.Any(s => s.Is<ISupportInitialize>())) { model.Lifecycle.Add(SupportInitializeConcern.Instance); } else { commission.AddConcern<ISupportInitialize>(SupportInitializeConcern.Instance); } if (commission.HasConcerns) { model.Lifecycle.Add(commission); } if (model.Services.Any(s => s.Is<IDisposable>())) { model.Lifecycle.Add(DisposalConcern.Instance); } else { var decommission = new LateBoundDecommissionConcerns(); decommission.AddConcern<IDisposable>(DisposalConcern.Instance); model.Lifecycle.Add(decommission); } }