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
- DataTableMapping.cs
- RemoteDebugger.cs
- DefaultEvaluationContext.cs
- PackWebRequestFactory.cs
- Sequence.cs
- SafePointer.cs
- CodeCompileUnit.cs
- GridViewRowPresenter.cs
- Operators.cs
- TextElementEnumerator.cs
- ObjectAnimationUsingKeyFrames.cs
- SecurityElement.cs
- _SecureChannel.cs
- MessageQueuePermissionAttribute.cs
- EventDescriptor.cs
- _ShellExpression.cs
- DataGridViewCellFormattingEventArgs.cs
- LineVisual.cs
- EntityProviderServices.cs
- XmlSchemaComplexContentRestriction.cs
- Application.cs
- IsolatedStoragePermission.cs
- Paragraph.cs
- SqlBulkCopyColumnMapping.cs
- TimeoutConverter.cs
- JavaScriptObjectDeserializer.cs
- ProgressBarHighlightConverter.cs
- XmlRootAttribute.cs
- StandardOleMarshalObject.cs
- BitVector32.cs
- DataColumnChangeEvent.cs
- PointConverter.cs
- BeginGetFileNameFromUserRequest.cs
- ShapeTypeface.cs
- TextWriterEngine.cs
- TableLayoutPanel.cs
- FilterFactory.cs
- Byte.cs
- MouseWheelEventArgs.cs
- BindingExpressionBase.cs
- LinearGradientBrush.cs
- LayoutEditorPart.cs
- ConfigXmlElement.cs
- WebServiceHost.cs
- QueryRewriter.cs
- CodeTypeParameterCollection.cs
- SqlFileStream.cs
- DefaultBindingPropertyAttribute.cs
- Filter.cs
- FieldBuilder.cs
- Bold.cs
- AbsoluteQuery.cs
- WrapPanel.cs
- DateTimeConverter2.cs
- GenerateTemporaryTargetAssembly.cs
- DesignerSerializationOptionsAttribute.cs
- HtmlTextArea.cs
- DocumentCollection.cs
- TypeProvider.cs
- EntityDataReader.cs
- ContextMarshalException.cs
- SRDisplayNameAttribute.cs
- DetailsViewAutoFormat.cs
- DataControlPagerLinkButton.cs
- KeyGesture.cs
- TraceEventCache.cs
- ResourceSet.cs
- DataGridHelper.cs
- ProgressBar.cs
- BaseValidator.cs
- PointCollectionValueSerializer.cs
- WpfSharedXamlSchemaContext.cs
- ReliableInputConnection.cs
- SqlDataSourceConfigureSortForm.cs
- Timeline.cs
- HtmlControlPersistable.cs
- ScrollItemProviderWrapper.cs
- CollectionView.cs
- RenderDataDrawingContext.cs
- XmlBinaryWriterSession.cs
- unitconverter.cs
- PropertyGridEditorPart.cs
- IsolatedStorage.cs
- Polyline.cs
- CryptoStream.cs
- GroupBox.cs
- ObjectQuery_EntitySqlExtensions.cs
- InkCanvasSelectionAdorner.cs
- DefaultClaimSet.cs
- XmlCompatibilityReader.cs
- SafePointer.cs
- FixedSOMLineCollection.cs
- UIInitializationException.cs
- JumpList.cs
- _emptywebproxy.cs
- PopupRootAutomationPeer.cs
- TagPrefixAttribute.cs
- PrePrepareMethodAttribute.cs
- DrawingBrush.cs
- FileInfo.cs