Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / Utils / DisposableCollectionWrapper.cs / 1305376 / 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() { // Technically, calling GC.SuppressFinalize is not required because the class does not // have a finalizer, but it does no harm, protects against the case where a finalizer is added // in the future, and prevents an FxCop warning. GC.SuppressFinalize(this); 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
- DiscoveryClient.cs
- TabRenderer.cs
- SamlSecurityToken.cs
- EntityDataSourceContainerNameItem.cs
- CodeVariableReferenceExpression.cs
- TableSectionStyle.cs
- Range.cs
- PersonalizationAdministration.cs
- BigInt.cs
- TextLineBreak.cs
- TimeSpanStorage.cs
- WebBrowserUriTypeConverter.cs
- DataServiceQueryContinuation.cs
- FormViewDesigner.cs
- CodeSubDirectory.cs
- BoundsDrawingContextWalker.cs
- TextSerializer.cs
- DrawingServices.cs
- MetadataSerializer.cs
- SingleResultAttribute.cs
- Int32Storage.cs
- Executor.cs
- DBCommandBuilder.cs
- EntitySqlQueryState.cs
- XmlBindingWorker.cs
- RequestTimeoutManager.cs
- Token.cs
- ReplyChannel.cs
- SqlGenerator.cs
- KeyGestureValueSerializer.cs
- MethodCallConverter.cs
- TextTreeUndoUnit.cs
- EventSchemaTraceListener.cs
- XmlILAnnotation.cs
- DataGridViewAccessibleObject.cs
- XmlMtomReader.cs
- ReadWriteObjectLock.cs
- WinFormsSecurity.cs
- EnumMember.cs
- ActivityExecutionFilter.cs
- EntityKeyElement.cs
- UIntPtr.cs
- BezierSegment.cs
- XmlSchemaImporter.cs
- BuildProviderCollection.cs
- QueryableDataSourceHelper.cs
- HelpProvider.cs
- RuleSettings.cs
- UntrustedRecipientException.cs
- CancellationTokenRegistration.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- HtmlToClrEventProxy.cs
- _WinHttpWebProxyDataBuilder.cs
- SafeSecurityHelper.cs
- MsmqTransportBindingElement.cs
- SequentialOutput.cs
- HttpRuntime.cs
- HelpProvider.cs
- KoreanLunisolarCalendar.cs
- EdmToObjectNamespaceMap.cs
- ResXBuildProvider.cs
- AsyncCompletedEventArgs.cs
- ImageConverter.cs
- bidPrivateBase.cs
- WindowsListViewItem.cs
- StringTraceRecord.cs
- PtsPage.cs
- _HeaderInfoTable.cs
- MimeBasePart.cs
- UnsafeNativeMethods.cs
- SortQuery.cs
- GridEntryCollection.cs
- QueryCacheManager.cs
- TimerEventSubscription.cs
- PermissionListSet.cs
- ActivityBindForm.cs
- IdnMapping.cs
- OuterGlowBitmapEffect.cs
- DynamicDocumentPaginator.cs
- PathGradientBrush.cs
- HttpResponseHeader.cs
- CodeDomLoader.cs
- HotCommands.cs
- MetadataUtil.cs
- LineMetrics.cs
- XmlSchemaInfo.cs
- AssemblyNameProxy.cs
- DataBindingCollection.cs
- COM2EnumConverter.cs
- DynamicRouteExpression.cs
- AssemblyAssociatedContentFileAttribute.cs
- AttributeTable.cs
- DesignerAutoFormatCollection.cs
- StyleCollection.cs
- FormViewPagerRow.cs
- ConnectionConsumerAttribute.cs
- ClientApiGenerator.cs
- OciLobLocator.cs
- CorrelationTokenInvalidatedHandler.cs
- DataSourceXmlSerializer.cs