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
- StackOverflowException.cs
- RootProfilePropertySettingsCollection.cs
- CopyAttributesAction.cs
- CommandExpr.cs
- ServiceSecurityAuditElement.cs
- XmlILOptimizerVisitor.cs
- AVElementHelper.cs
- PersistencePipeline.cs
- TypeInformation.cs
- AssemblyFilter.cs
- DateTimeSerializationSection.cs
- WindowsScrollBarBits.cs
- AuthorizationRule.cs
- TextContainerChangeEventArgs.cs
- ElementProxy.cs
- ReadOnlyNameValueCollection.cs
- DataServiceRequestOfT.cs
- ByeOperationAsyncResult.cs
- VariableExpressionConverter.cs
- xmlsaver.cs
- MarkupProperty.cs
- LinearKeyFrames.cs
- KeyValueSerializer.cs
- ReverseComparer.cs
- DetailsViewModeEventArgs.cs
- SimpleType.cs
- ReflectionUtil.cs
- BaseCollection.cs
- ScrollContentPresenter.cs
- SelectedDatesCollection.cs
- BamlTreeNode.cs
- XmlAnyElementAttribute.cs
- latinshape.cs
- OuterGlowBitmapEffect.cs
- StylusEventArgs.cs
- CodeParameterDeclarationExpressionCollection.cs
- EdmValidator.cs
- DataGridViewTextBoxCell.cs
- FragmentQueryProcessor.cs
- ClipboardData.cs
- FileLoadException.cs
- FrameworkElementFactory.cs
- ModuleElement.cs
- CapabilitiesPattern.cs
- OpenTypeLayoutCache.cs
- LassoHelper.cs
- SignatureGenerator.cs
- SortFieldComparer.cs
- DataTablePropertyDescriptor.cs
- WindowsServiceElement.cs
- codemethodreferenceexpression.cs
- RegexRunnerFactory.cs
- ConfigXmlDocument.cs
- TaskExceptionHolder.cs
- PanelStyle.cs
- Geometry.cs
- ContentPathSegment.cs
- InsufficientExecutionStackException.cs
- FamilyTypeface.cs
- ScriptReference.cs
- Variable.cs
- MethodBuilder.cs
- SoapRpcServiceAttribute.cs
- Message.cs
- IxmlLineInfo.cs
- TemplatedAdorner.cs
- TextElement.cs
- TitleStyle.cs
- Crypto.cs
- DelegatingTypeDescriptionProvider.cs
- SharedRuntimeState.cs
- LassoSelectionBehavior.cs
- HierarchicalDataBoundControlAdapter.cs
- NavigationWindowAutomationPeer.cs
- StreamFormatter.cs
- WindowsGraphicsWrapper.cs
- FontEmbeddingManager.cs
- CompositeFontFamily.cs
- BuildManagerHost.cs
- DragEvent.cs
- StatusBarPanelClickEvent.cs
- EventLogPermission.cs
- SqlFileStream.cs
- FontStyleConverter.cs
- NegatedCellConstant.cs
- TypeSystem.cs
- ReaderContextStackData.cs
- DefaultClaimSet.cs
- WebServiceParameterData.cs
- QuaternionAnimationBase.cs
- COM2PropertyDescriptor.cs
- ExtendedTransformFactory.cs
- AddInActivator.cs
- DynamicResourceExtensionConverter.cs
- querybuilder.cs
- Int32AnimationBase.cs
- MDIWindowDialog.cs
- WebPartVerbCollection.cs
- ExecutionScope.cs
- ResourceExpressionBuilder.cs