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
- ReverseComparer.cs
- SqlConnectionString.cs
- MemberInfoSerializationHolder.cs
- ReadOnlyActivityGlyph.cs
- PropertyItemInternal.cs
- precedingquery.cs
- FixedSchema.cs
- CompositeCollection.cs
- HtmlUtf8RawTextWriter.cs
- Binding.cs
- Animatable.cs
- SQLDouble.cs
- TableLayoutCellPaintEventArgs.cs
- XPathDocumentIterator.cs
- HtmlButton.cs
- TrimSurroundingWhitespaceAttribute.cs
- TrackPoint.cs
- Label.cs
- SolidBrush.cs
- SoapReflectionImporter.cs
- InvalidFilterCriteriaException.cs
- HttpContextServiceHost.cs
- ServiceBehaviorElement.cs
- OperandQuery.cs
- BitmapDownload.cs
- AsyncOperationContext.cs
- BaseInfoTable.cs
- log.cs
- ResolveNameEventArgs.cs
- DrawingContextFlattener.cs
- SRDisplayNameAttribute.cs
- OwnerDrawPropertyBag.cs
- EpmSyndicationContentDeSerializer.cs
- XmlQueryOutput.cs
- RadioButton.cs
- BitConverter.cs
- CatalogZoneBase.cs
- SerializationIncompleteException.cs
- MeasurementDCInfo.cs
- CustomWebEventKey.cs
- ReadOnlyDataSourceView.cs
- LoginStatusDesigner.cs
- HostedElements.cs
- NonSerializedAttribute.cs
- CompilerParameters.cs
- RowUpdatingEventArgs.cs
- ColumnResizeUndoUnit.cs
- thaishape.cs
- MailWebEventProvider.cs
- SqlIdentifier.cs
- XsltContext.cs
- DataGridRelationshipRow.cs
- SocketInformation.cs
- RuntimeArgumentHandle.cs
- EnumerationRangeValidationUtil.cs
- TrackingMemoryStream.cs
- Font.cs
- TextCompositionEventArgs.cs
- KoreanCalendar.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- UrlAuthorizationModule.cs
- HwndStylusInputProvider.cs
- Opcode.cs
- DrawingGroup.cs
- DataSourceControlBuilder.cs
- CheckBox.cs
- EventManager.cs
- CodeVariableDeclarationStatement.cs
- NegatedConstant.cs
- HttpValueCollection.cs
- RtfControlWordInfo.cs
- ToolConsole.cs
- DataServiceQueryException.cs
- AuthenticationModuleElementCollection.cs
- PropertySet.cs
- TreeNodeBinding.cs
- PropertyGridCommands.cs
- shaper.cs
- DrawingAttributesDefaultValueFactory.cs
- Site.cs
- OutputChannel.cs
- PersistencePipeline.cs
- ExpandSegment.cs
- COM2ICategorizePropertiesHandler.cs
- SqlParameterizer.cs
- SignedXmlDebugLog.cs
- Odbc32.cs
- WebPartCloseVerb.cs
- ControlValuePropertyAttribute.cs
- BufferBuilder.cs
- PerformanceCounterCategory.cs
- RecognizedAudio.cs
- TemplateParser.cs
- ElementUtil.cs
- Matrix.cs
- HttpListenerPrefixCollection.cs
- TranslateTransform3D.cs
- MethodSet.cs
- Assembly.cs
- HttpNamespaceReservationInstallComponent.cs