public void InitializeViewControllers(IClientSessionViewControllers viewControllers) { if (viewControllers == null) { throw new ArgumentNullException(nameof(viewControllers)); } Action <object, string> assert = (viewController, name) => { if (viewController == null) { throw new ArgumentException( $"{nameof (viewControllers)}.{nameof (name)} must not be null", nameof(viewControllers)); } }; assert(viewControllers.Messages, nameof(viewControllers.Messages)); assert(viewControllers.ReplHistory, nameof(viewControllers.ReplHistory)); assert(viewControllers.WorkbookTargets, nameof(viewControllers.WorkbookTargets)); if (ViewControllers != null) { ViewControllers.WorkbookTargets.PropertyChanged -= WorkbookTargets_PropertyChanged; } ViewControllers = new ViewControllersProxy(this, viewControllers); ViewControllers.WorkbookTargets.UpdateTargets(this); ViewControllers.WorkbookTargets.PropertyChanged += WorkbookTargets_PropertyChanged; }
public ViewControllersProxy( ClientSession session, IClientSessionViewControllers viewControllers) { if (session.SessionKind == ClientSessionKind.LiveInspection) { ReplHistory = viewControllers.ReplHistory; } Messages = viewControllers.Messages; WorkbookTargets = viewControllers.WorkbookTargets; }