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
- ThousandthOfEmRealPoints.cs
- ListViewInsertEventArgs.cs
- BamlTreeMap.cs
- CodeValidator.cs
- MulticastOption.cs
- InputScope.cs
- Axis.cs
- AliasedSlot.cs
- ControlBuilder.cs
- EntityContainerEmitter.cs
- CellParaClient.cs
- DataShape.cs
- StrongTypingException.cs
- MultiView.cs
- TextWriterTraceListener.cs
- RijndaelManagedTransform.cs
- TextRunProperties.cs
- DesignerDataSchemaClass.cs
- PermissionToken.cs
- AppendHelper.cs
- DynamicDiscoSearcher.cs
- CustomTrackingQuery.cs
- ProxyElement.cs
- mediaeventshelper.cs
- EdgeProfileValidation.cs
- StyleCollection.cs
- Rfc2898DeriveBytes.cs
- ConnectivityStatus.cs
- FlowDocumentPaginator.cs
- FileCodeGroup.cs
- KeyedCollection.cs
- XPathNodeList.cs
- XamlStream.cs
- OdbcCommand.cs
- OptimizerPatterns.cs
- TreeViewAutomationPeer.cs
- UrlMapping.cs
- FolderBrowserDialogDesigner.cs
- TypeLibConverter.cs
- HitTestResult.cs
- HierarchicalDataTemplate.cs
- NetTcpBindingElement.cs
- PropertyExpression.cs
- MinimizableAttributeTypeConverter.cs
- XpsS0ValidatingLoader.cs
- HttpWrapper.cs
- ToolStripDropDown.cs
- ZipIOExtraField.cs
- FillBehavior.cs
- ToolstripProfessionalRenderer.cs
- ResolveCriteriaCD1.cs
- CodeTypeDeclaration.cs
- PropertyGridCommands.cs
- BamlTreeUpdater.cs
- NativeMethods.cs
- StrongNameKeyPair.cs
- UnmanagedMemoryStreamWrapper.cs
- HttpRuntimeSection.cs
- WeakReferenceKey.cs
- TextServicesCompartmentEventSink.cs
- EtwTrace.cs
- DesignerActionVerbList.cs
- EmptyStringExpandableObjectConverter.cs
- UpdatePanel.cs
- EffectiveValueEntry.cs
- CodeExpressionRuleDeclaration.cs
- SettingsSection.cs
- EdgeModeValidation.cs
- QilLoop.cs
- DataTableTypeConverter.cs
- DesigntimeLicenseContextSerializer.cs
- FixedSOMGroup.cs
- AssemblyBuilder.cs
- AsyncResult.cs
- ProcessModelSection.cs
- EnglishPluralizationService.cs
- Error.cs
- ExtenderProvidedPropertyAttribute.cs
- ClientTarget.cs
- RelationshipWrapper.cs
- XmlEntityReference.cs
- DataGridViewColumnCollection.cs
- TripleDESCryptoServiceProvider.cs
- TemplateBindingExpression.cs
- ObjectManager.cs
- ImportContext.cs
- WebBrowserSiteBase.cs
- DeferredSelectedIndexReference.cs
- HealthMonitoringSection.cs
- DataConnectionHelper.cs
- XPathDocumentNavigator.cs
- AttributeSetAction.cs
- MemoryPressure.cs
- SymmetricAlgorithm.cs
- ToolstripProfessionalRenderer.cs
- CalendarAutoFormat.cs
- Interlocked.cs
- UnknownWrapper.cs
- SchemaNotation.cs
- MemberDomainMap.cs