Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Common / Utils / DisposableCollectionWrapper.cs / 1 / DisposableCollectionWrapper.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace System.Data.Common.Utils { internal class DisposableCollectionWrapper: IDisposable, IEnumerable where T : IDisposable { IEnumerable _enumerable; internal DisposableCollectionWrapper(IEnumerable enumerable) { Debug.Assert(enumerable != null, "don't pass in a null enumerable"); _enumerable = enumerable; } public void Dispose() { if(_enumerable != null) { foreach(T item in _enumerable) { if(item != null) { item.Dispose(); } } } } public IEnumerator GetEnumerator() { return _enumerable.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return ((System.Collections.IEnumerable)_enumerable).GetEnumerator(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace System.Data.Common.Utils { internal class DisposableCollectionWrapper: IDisposable, IEnumerable where T : IDisposable { IEnumerable _enumerable; internal DisposableCollectionWrapper(IEnumerable enumerable) { Debug.Assert(enumerable != null, "don't pass in a null enumerable"); _enumerable = enumerable; } public void Dispose() { if(_enumerable != null) { foreach(T item in _enumerable) { if(item != null) { item.Dispose(); } } } } public IEnumerator GetEnumerator() { return _enumerable.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return ((System.Collections.IEnumerable)_enumerable).GetEnumerator(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SafeNativeMemoryHandle.cs
- ObjectCloneHelper.cs
- CalculatedColumn.cs
- ScaleTransform3D.cs
- ProxyWebPartConnectionCollection.cs
- ControlDesigner.cs
- TextServicesCompartment.cs
- DataSourceXmlTextReader.cs
- SecurityResources.cs
- ArcSegment.cs
- TcpPortSharing.cs
- ClientFormsAuthenticationCredentials.cs
- EdmSchemaError.cs
- CodeDOMProvider.cs
- UriSection.cs
- GridItemCollection.cs
- CodeDOMUtility.cs
- MenuItemBinding.cs
- GridView.cs
- NamespaceTable.cs
- Encoder.cs
- AnnotationObservableCollection.cs
- SystemIPAddressInformation.cs
- Utils.cs
- MenuTracker.cs
- ObjectListDesigner.cs
- ColumnHeader.cs
- SQLInt16Storage.cs
- ErrorTolerantObjectWriter.cs
- AtomServiceDocumentSerializer.cs
- InProcStateClientManager.cs
- SafeCryptContextHandle.cs
- SystemDropShadowChrome.cs
- ScriptIgnoreAttribute.cs
- Rotation3DAnimationBase.cs
- UserControlDesigner.cs
- ClassicBorderDecorator.cs
- SQLStringStorage.cs
- HtmlHistory.cs
- DeferredSelectedIndexReference.cs
- TemplateXamlTreeBuilder.cs
- FileUtil.cs
- ComplexPropertyEntry.cs
- ApplicationSettingsBase.cs
- PlaceHolder.cs
- NoneExcludedImageIndexConverter.cs
- FileSystemWatcher.cs
- SvcMapFileLoader.cs
- EncodingNLS.cs
- AppModelKnownContentFactory.cs
- PointAnimation.cs
- PageCatalogPart.cs
- URLMembershipCondition.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- Container.cs
- InternalBufferManager.cs
- Function.cs
- ToReply.cs
- XmlILIndex.cs
- GenericsInstances.cs
- SecurityDescriptor.cs
- MenuItemBinding.cs
- FileNotFoundException.cs
- HtmlPageAdapter.cs
- DirtyTextRange.cs
- CompilerCollection.cs
- UnlockInstanceAsyncResult.cs
- LiteralControl.cs
- LookupNode.cs
- util.cs
- TypeGenericEnumerableViewSchema.cs
- TransportSecurityProtocolFactory.cs
- MetaModel.cs
- TaskExtensions.cs
- OptimalTextSource.cs
- FilterElement.cs
- UnorderedHashRepartitionStream.cs
- ButtonFieldBase.cs
- EntityCollection.cs
- AddInContractAttribute.cs
- MenuAdapter.cs
- LabelExpression.cs
- AutoResetEvent.cs
- BamlReader.cs
- EngineSite.cs
- MsmqIntegrationBindingElement.cs
- PKCS1MaskGenerationMethod.cs
- OracleCommandSet.cs
- RegistryPermission.cs
- Types.cs
- relpropertyhelper.cs
- KeyConverter.cs
- SingleSelectRootGridEntry.cs
- CustomAttributeBuilder.cs
- WindowCollection.cs
- FlowDocumentScrollViewer.cs
- ApplicationSecurityManager.cs
- InkPresenterAutomationPeer.cs
- Graph.cs
- ColumnPropertiesGroup.cs