Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- XmlAttributes.cs
- MemberDescriptor.cs
- ChildTable.cs
- XmlSchemaNotation.cs
- AliasGenerator.cs
- CursorInteropHelper.cs
- IsolatedStorageFile.cs
- XpsFont.cs
- Options.cs
- EncryptedType.cs
- TextPattern.cs
- ThreadPool.cs
- XslTransform.cs
- Control.cs
- COMException.cs
- TreeNodeBindingCollection.cs
- PageContentCollection.cs
- SelectionItemProviderWrapper.cs
- ObjectContext.cs
- panel.cs
- DllNotFoundException.cs
- ObjectListFieldCollection.cs
- XhtmlBasicLinkAdapter.cs
- XXXInfos.cs
- ButtonFieldBase.cs
- SoapObjectWriter.cs
- AncestorChangedEventArgs.cs
- EntryWrittenEventArgs.cs
- HtmlInputImage.cs
- ConstructorExpr.cs
- formatter.cs
- Behavior.cs
- TrackingConditionCollection.cs
- DesignerRegionCollection.cs
- SymmetricAlgorithm.cs
- NativeMethods.cs
- NameValueSectionHandler.cs
- SqlTrackingWorkflowInstance.cs
- WindowsListViewItemStartMenu.cs
- TraversalRequest.cs
- CompositionCommandSet.cs
- TreeViewImageIndexConverter.cs
- PerformanceCountersElement.cs
- HotSpotCollection.cs
- HTTPNotFoundHandler.cs
- HttpContextBase.cs
- PerformanceCounterPermission.cs
- Freezable.cs
- BrowserTree.cs
- GeneralTransform3DGroup.cs
- JsonSerializer.cs
- SchemaTypeEmitter.cs
- DeviceContexts.cs
- LastQueryOperator.cs
- MemberMaps.cs
- SubMenuStyleCollection.cs
- InputBuffer.cs
- Token.cs
- PageThemeBuildProvider.cs
- AppDomainAttributes.cs
- SymbolEqualComparer.cs
- CheckBoxFlatAdapter.cs
- TagElement.cs
- ChannelSinkStacks.cs
- CanonicalFontFamilyReference.cs
- DataGridViewCellCancelEventArgs.cs
- ViewStateModeByIdAttribute.cs
- HMACRIPEMD160.cs
- _CommandStream.cs
- UIAgentAsyncBeginRequest.cs
- ItemContainerPattern.cs
- SchemaNamespaceManager.cs
- SharedPersonalizationStateInfo.cs
- WebConfigurationHost.cs
- CodeVariableDeclarationStatement.cs
- BitmapEffectOutputConnector.cs
- ZipIOModeEnforcingStream.cs
- AsyncOperation.cs
- BufferModesCollection.cs
- RIPEMD160Managed.cs
- FormsAuthenticationCredentials.cs
- SizeConverter.cs
- DelimitedListTraceListener.cs
- MemoryMappedViewAccessor.cs
- MachineKeySection.cs
- ChildrenQuery.cs
- InheritanceAttribute.cs
- OutputCacheSettings.cs
- NativeMethods.cs
- CodeTypeMemberCollection.cs
- SQLMoneyStorage.cs
- CLSCompliantAttribute.cs
- SoapSchemaImporter.cs
- FlatButtonAppearance.cs
- ReflectionHelper.cs
- Viewport3DVisual.cs
- NoClickablePointException.cs
- CapabilitiesSection.cs
- CapabilitiesSection.cs
- GAC.cs