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
- WebBrowser.cs
- AspCompat.cs
- XmlCharCheckingReader.cs
- TemplatedAdorner.cs
- Separator.cs
- EditorPartChrome.cs
- CookieProtection.cs
- ImageConverter.cs
- NameValueConfigurationElement.cs
- ErrorHandler.cs
- TextBoxBase.cs
- XmlSchemaAttributeGroup.cs
- FontUnit.cs
- TextTreeUndo.cs
- WorkflowInstanceExtensionManager.cs
- ArraySegment.cs
- DataGridViewAutoSizeModeEventArgs.cs
- BindToObject.cs
- DataSet.cs
- DataGridViewCellValueEventArgs.cs
- FastEncoder.cs
- SponsorHelper.cs
- ContainerControl.cs
- DbMetaDataCollectionNames.cs
- PropertyValueChangedEvent.cs
- PopOutPanel.cs
- SoapCommonClasses.cs
- Point3DCollection.cs
- ProviderIncompatibleException.cs
- ComPlusAuthorization.cs
- Soap.cs
- DefaultValueTypeConverter.cs
- ToolboxItemCollection.cs
- XsltArgumentList.cs
- SecuritySessionClientSettings.cs
- MeshGeometry3D.cs
- Debug.cs
- FrameworkContextData.cs
- MobileControlBuilder.cs
- AVElementHelper.cs
- BmpBitmapDecoder.cs
- XmlDocumentSurrogate.cs
- PipeConnection.cs
- ParameterCollectionEditor.cs
- BitArray.cs
- StylusTip.cs
- PopupEventArgs.cs
- LeaseManager.cs
- MetadataItemSerializer.cs
- Types.cs
- StateRuntime.cs
- FocusTracker.cs
- AbstractDataSvcMapFileLoader.cs
- DbConnectionPoolIdentity.cs
- AdapterSwitches.cs
- InternalConfigEventArgs.cs
- XmlAnyAttributeAttribute.cs
- KerberosRequestorSecurityTokenAuthenticator.cs
- ControlSerializer.cs
- FuncTypeConverter.cs
- TrackingLocationCollection.cs
- DesignerActionItemCollection.cs
- ToolStripItemTextRenderEventArgs.cs
- RemotingException.cs
- _KerberosClient.cs
- Point3DIndependentAnimationStorage.cs
- EditorZoneBase.cs
- StringDictionaryEditor.cs
- MergeLocalizationDirectives.cs
- WebBrowserContainer.cs
- MouseEventArgs.cs
- CodeTypeMember.cs
- FramingChannels.cs
- StrokeNodeData.cs
- DateTimeConverter.cs
- EditBehavior.cs
- HwndTarget.cs
- CommandConverter.cs
- MulticastNotSupportedException.cs
- CategoryGridEntry.cs
- GacUtil.cs
- DataGridViewCellLinkedList.cs
- ServiceModelSecurityTokenRequirement.cs
- DoubleKeyFrameCollection.cs
- ServiceSettingsResponseInfo.cs
- OneToOneMappingSerializer.cs
- ADMembershipProvider.cs
- PerformanceCounterPermissionAttribute.cs
- CorePropertiesFilter.cs
- ScriptingWebServicesSectionGroup.cs
- TableCell.cs
- figurelengthconverter.cs
- DataSourceCollectionBase.cs
- RepeatEnumerable.cs
- HtmlTableRowCollection.cs
- DynamicPropertyHolder.cs
- IisTraceListener.cs
- AdapterUtil.cs
- SafeLibraryHandle.cs
- DesignerMetadata.cs