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
- CaseKeyBox.ViewModel.cs
- RelatedView.cs
- QualifierSet.cs
- AxHost.cs
- QilVisitor.cs
- BoundingRectTracker.cs
- TogglePatternIdentifiers.cs
- HiddenField.cs
- RadioButton.cs
- ErrorItem.cs
- XmlDataImplementation.cs
- UriTemplateVariablePathSegment.cs
- ToolStripItemDesigner.cs
- QilVisitor.cs
- Delay.cs
- CodeVariableDeclarationStatement.cs
- DelayDesigner.cs
- XmlSchemaInfo.cs
- DiscoveryDocumentReference.cs
- OleStrCAMarshaler.cs
- BaseHashHelper.cs
- HttpPostClientProtocol.cs
- WindowHideOrCloseTracker.cs
- SecurityPolicySection.cs
- SecurityTokenTypes.cs
- ConnectionProviderAttribute.cs
- DropShadowBitmapEffect.cs
- DataGridViewCheckBoxColumn.cs
- BinarySerializer.cs
- ArrayList.cs
- MetricEntry.cs
- CodeComment.cs
- AttributeEmitter.cs
- ProfessionalColorTable.cs
- CodeRemoveEventStatement.cs
- BuildDependencySet.cs
- DataBindingList.cs
- TextElement.cs
- XPathSelectionIterator.cs
- SocketManager.cs
- MailMessage.cs
- EntityStoreSchemaGenerator.cs
- CacheRequest.cs
- ProxyWebPartManager.cs
- EntitySetBaseCollection.cs
- RootNamespaceAttribute.cs
- SettingsContext.cs
- TypeUsage.cs
- WebScriptServiceHost.cs
- TextEditorThreadLocalStore.cs
- CatalogPart.cs
- SecUtil.cs
- CategoryNameCollection.cs
- VolatileResourceManager.cs
- RestHandlerFactory.cs
- ObjectSpanRewriter.cs
- TableRowCollection.cs
- NativeMethods.cs
- NavigationService.cs
- LinqToSqlWrapper.cs
- ProcessingInstructionAction.cs
- ServiceModelSecurityTokenTypes.cs
- DynamicQueryableWrapper.cs
- CodeSnippetStatement.cs
- BinaryReader.cs
- MessageLoggingElement.cs
- EraserBehavior.cs
- BlurEffect.cs
- TimeSpan.cs
- SiteMapDataSourceDesigner.cs
- RoutedEventArgs.cs
- InputReport.cs
- StickyNote.cs
- PasswordRecovery.cs
- Speller.cs
- KeyedHashAlgorithm.cs
- DocumentAutomationPeer.cs
- NegotiateStream.cs
- TrackingParameters.cs
- Attributes.cs
- EncodingNLS.cs
- SettingsContext.cs
- BaseProcessProtocolHandler.cs
- parserscommon.cs
- ListMarkerSourceInfo.cs
- control.ime.cs
- StructuralCache.cs
- DoWorkEventArgs.cs
- XomlCompilerError.cs
- LabelLiteral.cs
- Expressions.cs
- OletxVolatileEnlistment.cs
- Setter.cs
- XmlBindingWorker.cs
- TypeHelper.cs
- SHA256.cs
- RepeaterCommandEventArgs.cs
- DateRangeEvent.cs
- MemoryPressure.cs
- ConfigurationManagerInternal.cs