Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- Selection.cs
- ZipIORawDataFileBlock.cs
- RtType.cs
- EntityPropertyMappingAttribute.cs
- SafeFileMapViewHandle.cs
- ComponentEvent.cs
- MessageLogTraceRecord.cs
- WindowsListViewScroll.cs
- SharedConnectionListener.cs
- DoubleStorage.cs
- AndCondition.cs
- ContentWrapperAttribute.cs
- HttpCacheVary.cs
- TokenizerHelper.cs
- ObjectIDGenerator.cs
- TextSpan.cs
- PrintSchema.cs
- ObjectPersistData.cs
- AutoGeneratedField.cs
- WhitespaceSignificantCollectionAttribute.cs
- WebPartDisplayModeCancelEventArgs.cs
- SolidColorBrush.cs
- StyleCollection.cs
- ClrPerspective.cs
- HeaderedItemsControl.cs
- MenuItemBinding.cs
- webclient.cs
- TreeViewEvent.cs
- BinaryCommonClasses.cs
- GlobalEventManager.cs
- DataTableReaderListener.cs
- ObjectPersistData.cs
- FileDetails.cs
- HttpWebResponse.cs
- Sentence.cs
- EastAsianLunisolarCalendar.cs
- NotifyParentPropertyAttribute.cs
- TextElementEditingBehaviorAttribute.cs
- SQLInt16.cs
- DataViewManagerListItemTypeDescriptor.cs
- BinaryOperationBinder.cs
- DataListItemEventArgs.cs
- UnsafePeerToPeerMethods.cs
- ChangeProcessor.cs
- X509CertificateRecipientServiceCredential.cs
- diagnosticsswitches.cs
- MenuItem.cs
- TextRangeEditTables.cs
- ComplexBindingPropertiesAttribute.cs
- CompletedAsyncResult.cs
- ListViewSortEventArgs.cs
- validation.cs
- IApplicationTrustManager.cs
- XmlEncoding.cs
- SubclassTypeValidator.cs
- InvokeMethodActivityDesigner.cs
- AdornerLayer.cs
- ApplicationFileCodeDomTreeGenerator.cs
- FragmentNavigationEventArgs.cs
- KnowledgeBase.cs
- EntityDescriptor.cs
- SQLChars.cs
- SafeHandles.cs
- Expander.cs
- LogicalExpr.cs
- SqlCommandBuilder.cs
- DbParameterHelper.cs
- ApplicationInfo.cs
- DesignerAdapterAttribute.cs
- DocumentViewer.cs
- AdRotatorDesigner.cs
- RectangleConverter.cs
- AssemblyInfo.cs
- ToolStripItemGlyph.cs
- VisualBasicDesignerHelper.cs
- AutomationPropertyInfo.cs
- WebPartEditorCancelVerb.cs
- PeerEndPoint.cs
- TripleDES.cs
- CommonObjectSecurity.cs
- UrlMappingsModule.cs
- PropertyDescriptorGridEntry.cs
- OpenFileDialog.cs
- ParserOptions.cs
- WorkflowServiceHostFactory.cs
- DispatcherEventArgs.cs
- CharUnicodeInfo.cs
- RowUpdatedEventArgs.cs
- BinaryFormatter.cs
- SimpleApplicationHost.cs
- UshortList2.cs
- TypedReference.cs
- DockPanel.cs
- CapiNative.cs
- CollectionContainer.cs
- MenuScrollingVisibilityConverter.cs
- RequestUriProcessor.cs
- WSUtilitySpecificationVersion.cs
- EventDescriptorCollection.cs
- CodeCatchClauseCollection.cs