Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- TabOrder.cs
- ValidationRule.cs
- Parser.cs
- VideoDrawing.cs
- RegexReplacement.cs
- LayoutTable.cs
- ToolStripOverflow.cs
- BStrWrapper.cs
- ElementMarkupObject.cs
- MinimizableAttributeTypeConverter.cs
- ClipboardProcessor.cs
- WmpBitmapDecoder.cs
- RegexCode.cs
- TextTrailingCharacterEllipsis.cs
- SymbolEqualComparer.cs
- TimeoutTimer.cs
- HyperLink.cs
- ContentTextAutomationPeer.cs
- ProtectedProviderSettings.cs
- StylusCollection.cs
- Int32CollectionValueSerializer.cs
- ShapingEngine.cs
- ScriptBehaviorDescriptor.cs
- ContainerVisual.cs
- ClientRolePrincipal.cs
- HasCopySemanticsAttribute.cs
- HttpClientCertificate.cs
- DeclaredTypeValidator.cs
- WindowsAuthenticationEventArgs.cs
- COM2ColorConverter.cs
- XmlElementAttribute.cs
- FaultHandlingFilter.cs
- DisplayMemberTemplateSelector.cs
- DataViewSetting.cs
- PolicyLevel.cs
- PageContentCollection.cs
- DataGridView.cs
- HierarchicalDataBoundControl.cs
- Light.cs
- SchemaComplexType.cs
- TextPenaltyModule.cs
- UpWmlMobileTextWriter.cs
- IntSecurity.cs
- ViewPort3D.cs
- _NestedMultipleAsyncResult.cs
- RenderCapability.cs
- CreateUserWizardStep.cs
- Grid.cs
- DataServiceRequestException.cs
- LinqDataSourceDisposeEventArgs.cs
- SmtpLoginAuthenticationModule.cs
- ActiveXMessageFormatter.cs
- ColorConvertedBitmap.cs
- WebPartZoneBase.cs
- RequestQueryParser.cs
- CodeGotoStatement.cs
- PackageRelationshipSelector.cs
- DbDataAdapter.cs
- MethodToken.cs
- SecurityNegotiationException.cs
- BufferedReadStream.cs
- SerialErrors.cs
- ChtmlImageAdapter.cs
- InvalidAsynchronousStateException.cs
- WpfPayload.cs
- LayoutUtils.cs
- RangeValidator.cs
- isolationinterop.cs
- ConvertEvent.cs
- ClientSettingsStore.cs
- DesignerRegionCollection.cs
- TracingConnectionListener.cs
- XmlLoader.cs
- SimpleTypeResolver.cs
- UserNamePasswordValidator.cs
- DataGridViewCellStyleConverter.cs
- AddInSegmentDirectoryNotFoundException.cs
- LayoutTable.cs
- Roles.cs
- AbsoluteQuery.cs
- XmlValidatingReader.cs
- DocobjHost.cs
- PasswordTextNavigator.cs
- EventToken.cs
- NetTcpSection.cs
- CacheDependency.cs
- ContextDataSource.cs
- PackageRelationship.cs
- HttpPostServerProtocol.cs
- DrawListViewColumnHeaderEventArgs.cs
- ProfileSettingsCollection.cs
- ShaperBuffers.cs
- DataGridViewColumnConverter.cs
- EntityStoreSchemaFilterEntry.cs
- TargetConverter.cs
- Parallel.cs
- HttpStreamMessageEncoderFactory.cs
- SimpleApplicationHost.cs
- StringArrayConverter.cs
- Point3DConverter.cs