/// <summary> /// Passivate all active parts. /// </summary> public void Passivate() { _state = ActivePartManagerState.Passivating; try { foreach (var part in _parts.Values) { part.Passivate(); } } catch { _state = ActivePartManagerState.Invalid; throw; } _state = ActivePartManagerState.Passivated; }
/// <summary> /// Activate all registered parts. /// </summary> public void Activate() { _state = ActivePartManagerState.Activating; try { foreach (var info in _regSvc.GetRegisteredElements()) { IActivePart part; if (!_parts.TryGetValue(info.TypeName, out part)) { part = (IActivePart)Type.GetType(info.TypeName, true).CreateInstance(ServiceProvider); _parts.Add(info.TypeName, part); } part.Activate(); } } catch { _state = ActivePartManagerState.Invalid; throw; } _state = ActivePartManagerState.Activated; }