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
- mactripleDES.cs
- HtmlTableRowCollection.cs
- SecurityTokenAuthenticator.cs
- SqlNodeTypeOperators.cs
- XomlCompiler.cs
- Form.cs
- OdbcUtils.cs
- COM2IDispatchConverter.cs
- RIPEMD160Managed.cs
- AttributeQuery.cs
- EnumConverter.cs
- StringDictionary.cs
- QilChoice.cs
- UIHelper.cs
- BufferModesCollection.cs
- ReceiveMessageContent.cs
- EdmItemError.cs
- ZipIOBlockManager.cs
- ColumnHeaderConverter.cs
- LinkArea.cs
- PieceDirectory.cs
- httpstaticobjectscollection.cs
- Visitor.cs
- Transaction.cs
- RadialGradientBrush.cs
- WindowHideOrCloseTracker.cs
- HashCodeCombiner.cs
- DockPatternIdentifiers.cs
- SqlTypesSchemaImporter.cs
- RelationshipType.cs
- ItemMap.cs
- SmtpClient.cs
- TypeListConverter.cs
- EntityParameter.cs
- TreeNodeMouseHoverEvent.cs
- SiteMapNodeCollection.cs
- ReliableInputConnection.cs
- BindToObject.cs
- DefaultAuthorizationContext.cs
- ServiceInfo.cs
- IgnoreFlushAndCloseStream.cs
- _FtpControlStream.cs
- QueryOptionExpression.cs
- Soap12ProtocolReflector.cs
- RIPEMD160Managed.cs
- WebPartActionVerb.cs
- Version.cs
- CollectionsUtil.cs
- ListManagerBindingsCollection.cs
- MonthCalendar.cs
- Typeface.cs
- UpdateException.cs
- StylusPointCollection.cs
- DLinqTableProvider.cs
- AbandonedMutexException.cs
- CodeTypeParameter.cs
- PointHitTestResult.cs
- CodeStatementCollection.cs
- RequestNavigateEventArgs.cs
- Stack.cs
- LayoutSettings.cs
- HtmlInputReset.cs
- LogicalExpr.cs
- JsonDeserializer.cs
- CallbackValidator.cs
- ProtocolsConfigurationHandler.cs
- EntityUtil.cs
- PeerToPeerException.cs
- LambdaCompiler.Address.cs
- LoginCancelEventArgs.cs
- Journal.cs
- OpCodes.cs
- SignatureDescription.cs
- ProcessThreadDesigner.cs
- DataIdProcessor.cs
- Scanner.cs
- Symbol.cs
- SmtpReplyReader.cs
- Visual3D.cs
- EnumValidator.cs
- FormsAuthenticationUserCollection.cs
- DynamicActionMessageFilter.cs
- SqlParameter.cs
- SqlCacheDependencyDatabase.cs
- ByteConverter.cs
- MenuBase.cs
- UserControlBuildProvider.cs
- DataControlPagerLinkButton.cs
- __Error.cs
- QilStrConcatenator.cs
- BezierSegment.cs
- XmlSchemaGroup.cs
- DataBinding.cs
- MultiSelector.cs
- NamedPipeHostedTransportConfiguration.cs
- HttpApplicationFactory.cs
- EnumerationRangeValidationUtil.cs
- DataGridViewDataErrorEventArgs.cs
- Inflater.cs
- NameNode.cs