private void InitManagers() { // Init Resource Managers _coursesManager = new Lazy <CoursesManager>(() => new CoursesManager(_config, _service, _converter, Auth)); _accountsManager = new Lazy <AccountsManager>(() => new AccountsManager(_config, _service, _converter, Auth)); _usersManager = new Lazy <UsersManager>(() => new UsersManager(_config, _service, _converter, Auth)); _analyticsManager = new Lazy <AnalyticsManager>(() => new AnalyticsManager(_config, _service, _converter, Auth)); ResourcePlugins = new ResourcePlugins(); }
/// <summary> /// Adds additional resource managers/endpoints to the BoxClient. /// This is meant to allow for the inclusion of beta APIs or unofficial endpoints /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public BoxClient AddResourcePlugin <T>() where T : BoxResourceManager { ResourcePlugins.Register <T>(() => (T)Activator.CreateInstance(typeof(T), Config, _service, _converter, Auth)); return(this); }