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
- FileReader.cs
- XmlCompatibilityReader.cs
- StateFinalizationActivity.cs
- Int16Storage.cs
- OracleColumn.cs
- SizeValueSerializer.cs
- OleDbRowUpdatedEvent.cs
- DefaultTraceListener.cs
- InternalPolicyElement.cs
- FixedSOMLineCollection.cs
- TableRowGroupCollection.cs
- DataGridLinkButton.cs
- CharUnicodeInfo.cs
- FieldNameLookup.cs
- RadioButtonList.cs
- SHA1Managed.cs
- OutputCacheProfileCollection.cs
- XmlQueryOutput.cs
- ChildTable.cs
- Header.cs
- SessionStateSection.cs
- HandlerBase.cs
- ConstantProjectedSlot.cs
- ButtonStandardAdapter.cs
- BitmapEffectState.cs
- DesignerMetadata.cs
- _NTAuthentication.cs
- CheckBoxList.cs
- COMException.cs
- DataGridViewCellStyleChangedEventArgs.cs
- RegisteredExpandoAttribute.cs
- TextWriterTraceListener.cs
- Common.cs
- InlinedAggregationOperator.cs
- ErasingStroke.cs
- InplaceBitmapMetadataWriter.cs
- RegexFCD.cs
- StringResourceManager.cs
- BooleanStorage.cs
- AsyncResult.cs
- ProtocolsSection.cs
- UDPClient.cs
- ImageField.cs
- XPathExpr.cs
- XmlSchemaSimpleTypeUnion.cs
- CodeMemberField.cs
- WorkflowTraceTransfer.cs
- PolyQuadraticBezierSegment.cs
- PointAnimationUsingPath.cs
- ImageCodecInfo.cs
- Exceptions.cs
- DataRelationCollection.cs
- SqlAliaser.cs
- TemplateBindingExtensionConverter.cs
- Pointer.cs
- ZipArchive.cs
- StaticTextPointer.cs
- BeginStoryboard.cs
- TextEditorThreadLocalStore.cs
- Events.cs
- RadioButtonRenderer.cs
- RewritingPass.cs
- ChangeProcessor.cs
- CodeAttributeArgument.cs
- ListenerConfig.cs
- MailAddressCollection.cs
- WebPartConnection.cs
- GridViewColumnCollectionChangedEventArgs.cs
- ImmutablePropertyDescriptorGridEntry.cs
- ScrollChrome.cs
- ManagedCodeMarkers.cs
- InvalidWMPVersionException.cs
- ConnectionPointCookie.cs
- DocumentEventArgs.cs
- TextViewDesigner.cs
- UidManager.cs
- ValueTypePropertyReference.cs
- VariableAction.cs
- XmlSchemaException.cs
- XmlAtomicValue.cs
- ContentIterators.cs
- ParamArrayAttribute.cs
- streamingZipPartStream.cs
- Win32MouseDevice.cs
- ConfigXmlComment.cs
- DataSourceView.cs
- DecoratedNameAttribute.cs
- TimelineCollection.cs
- DataGridComponentEditor.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- DrawingGroup.cs
- DataGridColumnCollection.cs
- SearchForVirtualItemEventArgs.cs
- ObjectIDGenerator.cs
- CounterCreationDataCollection.cs
- CachedFontFamily.cs
- BrowserCapabilitiesCodeGenerator.cs
- PriorityBindingExpression.cs
- SqlDeflator.cs
- ScriptManagerProxy.cs