void IPackage.Initialize(IServiceProvider serviceProvider) { this._serviceProvider = serviceProvider; IServiceContainer service = (IServiceContainer) serviceProvider.GetService(typeof(IServiceContainer)); if (service != null) { this._dbManager = new DatabaseManager(serviceProvider); service.AddService(typeof(IDatabaseManager), this._dbManager); } }
void IDisposable.Dispose() { if (this._dbManager != null) { IServiceContainer service = (IServiceContainer) this._serviceProvider.GetService(typeof(IServiceContainer)); if (service != null) { service.RemoveService(typeof(IDatabaseManager)); } ((IDisposable) this._dbManager).Dispose(); this._dbManager = null; } this._serviceProvider = null; }