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
- AsymmetricSignatureDeformatter.cs
- Win32Exception.cs
- RtType.cs
- DrawListViewSubItemEventArgs.cs
- LogExtent.cs
- EventLogReader.cs
- RegistrySecurity.cs
- ResXResourceReader.cs
- _DomainName.cs
- MsmqBindingMonitor.cs
- Decorator.cs
- Collection.cs
- MappingMetadataHelper.cs
- MimeTypeAttribute.cs
- KeysConverter.cs
- MeasureItemEvent.cs
- DrawingCollection.cs
- UIntPtr.cs
- TextWriter.cs
- UnitySerializationHolder.cs
- NativeCppClassAttribute.cs
- ImageSourceConverter.cs
- DataControlPagerLinkButton.cs
- BlobPersonalizationState.cs
- activationcontext.cs
- ProfileGroupSettingsCollection.cs
- DataGridViewCellCollection.cs
- MaxSessionCountExceededException.cs
- ClientTargetCollection.cs
- DtcInterfaces.cs
- SqlNode.cs
- XmlArrayItemAttributes.cs
- EventDriven.cs
- IconEditor.cs
- SingleTagSectionHandler.cs
- SessionIDManager.cs
- EmptyEnumerable.cs
- ManagedFilter.cs
- AccessDataSourceView.cs
- LinqDataSourceInsertEventArgs.cs
- EnumerableValidator.cs
- FillErrorEventArgs.cs
- TemplateBaseAction.cs
- XdrBuilder.cs
- UIElementCollection.cs
- Parsers.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- DeviceFiltersSection.cs
- SqlCharStream.cs
- FileVersion.cs
- ResourceProviderFactory.cs
- DashStyle.cs
- XmlQueryTypeFactory.cs
- CompositeDataBoundControl.cs
- HwndMouseInputProvider.cs
- SqlParameterizer.cs
- DecimalAverageAggregationOperator.cs
- HttpApplicationFactory.cs
- HorizontalAlignConverter.cs
- TdsEnums.cs
- Quaternion.cs
- ContractsBCL.cs
- TableItemStyle.cs
- AnimationException.cs
- LinkLabel.cs
- CLSCompliantAttribute.cs
- ZoneButton.cs
- AccessKeyManager.cs
- Stack.cs
- ReferenceEqualityComparer.cs
- Ref.cs
- Path.cs
- ExtractorMetadata.cs
- ProgressBarAutomationPeer.cs
- XmlWrappingWriter.cs
- AssemblyBuilder.cs
- HtmlMeta.cs
- RepeatButtonAutomationPeer.cs
- ViewGenResults.cs
- SendSecurityHeaderElementContainer.cs
- ContractHandle.cs
- FixedFindEngine.cs
- SliderAutomationPeer.cs
- SqlDeflator.cs
- XPathMultyIterator.cs
- WindowsRegion.cs
- DataGridView.cs
- OleDbReferenceCollection.cs
- ContextProperty.cs
- ColumnMapCopier.cs
- SafeEventLogWriteHandle.cs
- Table.cs
- BaseParser.cs
- XD.cs
- WorkflowServiceHostFactory.cs
- MsmqIntegrationProcessProtocolHandler.cs
- WmfPlaceableFileHeader.cs
- DynamicFilterExpression.cs
- AlignmentYValidation.cs
- ToolStripComboBox.cs