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
- ListGeneralPage.cs
- SamlSubject.cs
- NotCondition.cs
- FontConverter.cs
- BitArray.cs
- ConfigurationStrings.cs
- PublishLicense.cs
- AnnotationResourceChangedEventArgs.cs
- FileDialog.cs
- RoutingChannelExtension.cs
- DataStreams.cs
- MatrixStack.cs
- ProfilePropertySettings.cs
- NavigationHelper.cs
- DataGridViewTextBoxCell.cs
- SettingsAttributeDictionary.cs
- ScriptControl.cs
- BitmapImage.cs
- XmlElementAttributes.cs
- EncryptedData.cs
- ReflectTypeDescriptionProvider.cs
- RectangleConverter.cs
- XmlQueryRuntime.cs
- CacheEntry.cs
- ButtonField.cs
- StreamSecurityUpgradeInitiator.cs
- XmlElementList.cs
- ConfigXmlComment.cs
- BevelBitmapEffect.cs
- ParserContext.cs
- WebProxyScriptElement.cs
- PerfCounters.cs
- ArgumentException.cs
- ILGenerator.cs
- StackOverflowException.cs
- SecurityDescriptor.cs
- PeerPresenceInfo.cs
- DbCommandTree.cs
- PropertySegmentSerializationProvider.cs
- AddToCollection.cs
- MessageSecurityOverTcpElement.cs
- TableAutomationPeer.cs
- webbrowsersite.cs
- NGCUIElementCollectionSerializerAsync.cs
- ProgressBarHighlightConverter.cs
- DiscoveryDocumentSearchPattern.cs
- ViewStateModeByIdAttribute.cs
- SerializerProvider.cs
- MarkerProperties.cs
- _ConnectOverlappedAsyncResult.cs
- ToolStripItemClickedEventArgs.cs
- WinFormsComponentEditor.cs
- BehaviorService.cs
- DataListCommandEventArgs.cs
- Viewport3DVisual.cs
- ObservableCollection.cs
- DataGridViewCellStyle.cs
- EmbeddedMailObject.cs
- ListView.cs
- TrustSection.cs
- ClientBuildManager.cs
- WebPartEditorCancelVerb.cs
- BatchWriter.cs
- SQLBoolean.cs
- MappedMetaModel.cs
- HtmlMeta.cs
- FileRecordSequenceCompletedAsyncResult.cs
- XmlComment.cs
- ExcludePathInfo.cs
- SizeChangedInfo.cs
- DataControlButton.cs
- Transform.cs
- UIPermission.cs
- ThreadExceptionDialog.cs
- LogAppendAsyncResult.cs
- AttachedPropertyInfo.cs
- MethodCallConverter.cs
- FormViewPageEventArgs.cs
- XmlSchemaInfo.cs
- StorageBasedPackageProperties.cs
- XPathNodePointer.cs
- ErrorEventArgs.cs
- PhoneCallDesigner.cs
- TabItemAutomationPeer.cs
- ToolStripSplitButton.cs
- TypeExtensionConverter.cs
- CodeIdentifiers.cs
- UnauthorizedAccessException.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- InkCanvasSelection.cs
- WindowsSecurityTokenAuthenticator.cs
- Listbox.cs
- BaseTemplateBuildProvider.cs
- TextTreeRootTextBlock.cs
- BooleanAnimationBase.cs
- OleDbEnumerator.cs
- PathParser.cs
- AsymmetricSignatureFormatter.cs
- FormatterServices.cs
- DataGridViewComboBoxCell.cs