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
- SHA256Managed.cs
- ComAdminInterfaces.cs
- Matrix3D.cs
- safelinkcollection.cs
- BlurEffect.cs
- FileIOPermission.cs
- StringWriter.cs
- WebControlParameterProxy.cs
- XmlSchemaAnnotation.cs
- SecuritySessionSecurityTokenAuthenticator.cs
- TileBrush.cs
- GenericXmlSecurityTokenAuthenticator.cs
- CompoundFileDeflateTransform.cs
- CmsUtils.cs
- WebPartManagerInternals.cs
- ComponentResourceManager.cs
- ProxyBuilder.cs
- WinEventWrap.cs
- EditorBrowsableAttribute.cs
- RegisteredExpandoAttribute.cs
- DllNotFoundException.cs
- MutexSecurity.cs
- HostProtectionPermission.cs
- SyndicationElementExtensionCollection.cs
- CacheVirtualItemsEvent.cs
- X509SubjectKeyIdentifierClause.cs
- RegistrySecurity.cs
- Shape.cs
- RSAOAEPKeyExchangeFormatter.cs
- HttpCapabilitiesBase.cs
- TrailingSpaceComparer.cs
- GridItemCollection.cs
- ParserHooks.cs
- DesignerProperties.cs
- IdentitySection.cs
- MaskDescriptors.cs
- DefaultAssemblyResolver.cs
- BoundColumn.cs
- NativeMethods.cs
- httpapplicationstate.cs
- SecurityIdentifierElementCollection.cs
- ToolStripCustomTypeDescriptor.cs
- GenericTypeParameterBuilder.cs
- RangeValidator.cs
- CompileLiteralTextParser.cs
- OdbcDataReader.cs
- SqlDataSourceFilteringEventArgs.cs
- UnhandledExceptionEventArgs.cs
- FusionWrap.cs
- FixedSOMPageElement.cs
- SerializationAttributes.cs
- StructuralCache.cs
- exports.cs
- Dictionary.cs
- PrintDialog.cs
- ObjectPersistData.cs
- DataSourceListEditor.cs
- TransformGroup.cs
- PropertiesTab.cs
- RawKeyboardInputReport.cs
- CategoriesDocumentFormatter.cs
- CollectionChangedEventManager.cs
- DataGridViewElement.cs
- HtmlInputRadioButton.cs
- NameScopePropertyAttribute.cs
- BitmapFrameEncode.cs
- ConstructorNeedsTagAttribute.cs
- SettingsSection.cs
- GroupAggregateExpr.cs
- SmtpAuthenticationManager.cs
- CodeGotoStatement.cs
- ValueType.cs
- ExtenderControl.cs
- XmlUtilWriter.cs
- EnumMember.cs
- ProxyElement.cs
- TemplateXamlTreeBuilder.cs
- SqlDataAdapter.cs
- OracleParameterCollection.cs
- UndoEngine.cs
- AttachedAnnotation.cs
- ResourceContainer.cs
- dsa.cs
- DriveInfo.cs
- ApplicationDirectory.cs
- TcpTransportSecurityElement.cs
- CompressedStack.cs
- Translator.cs
- DuplicateWaitObjectException.cs
- DataListItemCollection.cs
- WebScriptClientGenerator.cs
- TreeNodeBinding.cs
- CompoundFileReference.cs
- SubqueryRules.cs
- RootProfilePropertySettingsCollection.cs
- validation.cs
- CounterSampleCalculator.cs
- HatchBrush.cs
- StorageTypeMapping.cs
- SeekableReadStream.cs