/// <summary> /// Disposes all resources being used by this <see cref="Sop"/>. /// </summary> /// <param name="disposing"></param> protected virtual void Dispose(bool disposing) { if (disposing && _dataSourceReference != null) { _dataSourceReference.Dispose(); _dataSourceReference = null; } }
private void Initialize(ISopDataSource dataSource) { //We want to explicitly enforce that image data sources are wrapped in ImageSops. IsImage = this is ImageSop; if (dataSource.IsImage != IsImage) { throw new ArgumentException("Data source/Sop type mismatch.", "dataSource"); } //silently use shared/cached data source. _dataSourceReference = SopDataCache.Add(dataSource); }