Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / LinkedResourceCollection.cs / 1305376 / LinkedResourceCollection.cs
using System; using System.Collections.ObjectModel; namespace System.Net.Mail { public sealed class LinkedResourceCollection : Collection, IDisposable { bool disposed = false; internal LinkedResourceCollection() { } public void Dispose() { if(disposed){ return; } foreach (LinkedResource resource in this) { resource.Dispose(); } Clear(); disposed = true; } protected override void RemoveItem(int index){ if (disposed) { throw new ObjectDisposedException(this.GetType().FullName); } base.RemoveItem(index); } protected override void ClearItems(){ if (disposed) { throw new ObjectDisposedException(this.GetType().FullName); } base.ClearItems(); } protected override void SetItem(int index, LinkedResource item){ if (disposed) { throw new ObjectDisposedException(this.GetType().FullName); } if(item==null) { throw new ArgumentNullException("item"); } base.SetItem(index,item); } protected override void InsertItem(int index, LinkedResource item){ if (disposed) { throw new ObjectDisposedException(this.GetType().FullName); } if(item==null){ throw new ArgumentNullException("item"); } base.InsertItem(index,item); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections.ObjectModel; namespace System.Net.Mail { public sealed class LinkedResourceCollection : Collection , IDisposable { bool disposed = false; internal LinkedResourceCollection() { } public void Dispose() { if(disposed){ return; } foreach (LinkedResource resource in this) { resource.Dispose(); } Clear(); disposed = true; } protected override void RemoveItem(int index){ if (disposed) { throw new ObjectDisposedException(this.GetType().FullName); } base.RemoveItem(index); } protected override void ClearItems(){ if (disposed) { throw new ObjectDisposedException(this.GetType().FullName); } base.ClearItems(); } protected override void SetItem(int index, LinkedResource item){ if (disposed) { throw new ObjectDisposedException(this.GetType().FullName); } if(item==null) { throw new ArgumentNullException("item"); } base.SetItem(index,item); } protected override void InsertItem(int index, LinkedResource item){ if (disposed) { throw new ObjectDisposedException(this.GetType().FullName); } if(item==null){ throw new ArgumentNullException("item"); } base.InsertItem(index,item); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SoapObjectReader.cs
- XmlSchemaObjectTable.cs
- ObjectDataSourceMethodEditor.cs
- MarkupCompilePass1.cs
- ApplicationSecurityInfo.cs
- InputBindingCollection.cs
- TrackingConditionCollection.cs
- HelpInfo.cs
- Double.cs
- MetadataPropertyvalue.cs
- DataGridSortingEventArgs.cs
- ZipIOModeEnforcingStream.cs
- FindProgressChangedEventArgs.cs
- Context.cs
- LinkClickEvent.cs
- MethodAccessException.cs
- GeometryModel3D.cs
- ClientApiGenerator.cs
- SqlNodeAnnotation.cs
- EmbeddedMailObjectsCollection.cs
- PackageStore.cs
- CharacterString.cs
- TableLayoutStyleCollection.cs
- ObjectDataSourceStatusEventArgs.cs
- RepeaterItemEventArgs.cs
- UInt32Storage.cs
- ExtractedStateEntry.cs
- filewebrequest.cs
- JumpList.cs
- TextProperties.cs
- MaterialCollection.cs
- DrawTreeNodeEventArgs.cs
- PagerSettings.cs
- OleDbSchemaGuid.cs
- CrossAppDomainChannel.cs
- DataServiceContext.cs
- DataFormats.cs
- ValueProviderWrapper.cs
- PropertyChangedEventArgs.cs
- IsolatedStoragePermission.cs
- CategoryNameCollection.cs
- SqlBulkCopyColumnMapping.cs
- DocumentAutomationPeer.cs
- MimeFormReflector.cs
- WorkflowServiceHostFactory.cs
- RepeatButtonAutomationPeer.cs
- ToolStripPanel.cs
- Misc.cs
- ProjectionCamera.cs
- PaperSize.cs
- BaseCodePageEncoding.cs
- UIElementPropertyUndoUnit.cs
- SoapProtocolReflector.cs
- ResourcePermissionBase.cs
- XmlILAnnotation.cs
- SqlUserDefinedTypeAttribute.cs
- ObjectCacheHost.cs
- ExceptionValidationRule.cs
- Char.cs
- Floater.cs
- NumberFormatInfo.cs
- Solver.cs
- TimerElapsedEvenArgs.cs
- ImageButton.cs
- CodeDomConfigurationHandler.cs
- InvalidOleVariantTypeException.cs
- WebPartAddingEventArgs.cs
- NativeMethods.cs
- CodeValidator.cs
- New.cs
- DllNotFoundException.cs
- DispatcherTimer.cs
- WebBaseEventKeyComparer.cs
- DataGridViewRowPostPaintEventArgs.cs
- RawStylusSystemGestureInputReport.cs
- XmlSchemaSet.cs
- ObsoleteAttribute.cs
- FunctionImportElement.cs
- WebPartUserCapability.cs
- UInt32Converter.cs
- DataRowChangeEvent.cs
- ValidationHelpers.cs
- EmptyEnumerable.cs
- DataGridTable.cs
- NamedElement.cs
- SymLanguageType.cs
- XmlSchemaSet.cs
- DateTimeStorage.cs
- SqlParameterizer.cs
- GlyphRunDrawing.cs
- DelegatingTypeDescriptionProvider.cs
- PropertyTabAttribute.cs
- ContextMarshalException.cs
- ObjectQueryProvider.cs
- Grid.cs
- ProfessionalColors.cs
- Section.cs
- CommonProperties.cs
- HelpInfo.cs
- Constants.cs