Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / ClosableStream.cs / 1305376 / ClosableStream.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net { using System; using System.IO; using System.Threading; ////// Provides a stream that notifies an event when the Close method /// is called. /// internal class ClosableStream : DelegatedStream { EventHandler onClose; int closed; internal ClosableStream(Stream stream, EventHandler onClose) : base(stream) { this.onClose = onClose; } public override void Close() { if (Interlocked.Increment(ref closed) == 1) if (this.onClose != null) this.onClose(this, new EventArgs()); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net { using System; using System.IO; using System.Threading; ////// Provides a stream that notifies an event when the Close method /// is called. /// internal class ClosableStream : DelegatedStream { EventHandler onClose; int closed; internal ClosableStream(Stream stream, EventHandler onClose) : base(stream) { this.onClose = onClose; } public override void Close() { if (Interlocked.Increment(ref closed) == 1) if (this.onClose != null) this.onClose(this, new EventArgs()); } } } // 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
- Util.cs
- EncryptedType.cs
- Triplet.cs
- ProcessProtocolHandler.cs
- HttpRequestCacheValidator.cs
- DeviceSpecificDesigner.cs
- XmlTextReaderImpl.cs
- DataGridRelationshipRow.cs
- CellIdBoolean.cs
- ObjectResult.cs
- RadioButtonPopupAdapter.cs
- WebPartHeaderCloseVerb.cs
- Convert.cs
- SymbolType.cs
- CompositeTypefaceMetrics.cs
- AutomationInteropProvider.cs
- Connector.cs
- DataServiceQueryOfT.cs
- CollectionConverter.cs
- AssemblyFilter.cs
- SqlCommandSet.cs
- ToolboxItem.cs
- ResponseStream.cs
- CompositeScriptReference.cs
- EnterpriseServicesHelper.cs
- AmbientLight.cs
- Exceptions.cs
- TagPrefixAttribute.cs
- FontResourceCache.cs
- UriParserTemplates.cs
- PartDesigner.cs
- ResXResourceReader.cs
- PropertyDescriptorGridEntry.cs
- CodeBlockBuilder.cs
- HuffCodec.cs
- Barrier.cs
- SHA512.cs
- CannotUnloadAppDomainException.cs
- ConnectionPointCookie.cs
- SiteMapNodeItemEventArgs.cs
- SettingsAttributeDictionary.cs
- UIElement.cs
- NativeRecognizer.cs
- BooleanToVisibilityConverter.cs
- WorkflowOwnershipException.cs
- NullableLongMinMaxAggregationOperator.cs
- OracleMonthSpan.cs
- DuplicateWaitObjectException.cs
- Tokenizer.cs
- WebControlAdapter.cs
- AxHost.cs
- CodeNamespace.cs
- GlyphRunDrawing.cs
- TypeSystem.cs
- RTTypeWrapper.cs
- SqlVisitor.cs
- NativeMethods.cs
- TextLineResult.cs
- DisposableCollectionWrapper.cs
- CompilerCollection.cs
- GPStream.cs
- TextTabProperties.cs
- XPathScanner.cs
- ScrollChrome.cs
- HMAC.cs
- WebBodyFormatMessageProperty.cs
- TextBlock.cs
- SchemaType.cs
- ComponentCodeDomSerializer.cs
- StateDesigner.CommentLayoutGlyph.cs
- Stackframe.cs
- TemplatedAdorner.cs
- Evaluator.cs
- EntityContainer.cs
- UserPreferenceChangingEventArgs.cs
- ToolbarAUtomationPeer.cs
- Attribute.cs
- SoundPlayerAction.cs
- BaseTreeIterator.cs
- XmlSecureResolver.cs
- ListViewSortEventArgs.cs
- ForEachAction.cs
- Font.cs
- ComplusTypeValidator.cs
- UserControl.cs
- TableStyle.cs
- XmlCustomFormatter.cs
- RangeValidator.cs
- IMembershipProvider.cs
- ToolStripContainerDesigner.cs
- TableCell.cs
- SafeThreadHandle.cs
- Query.cs
- ExceptionValidationRule.cs
- ToolStripLocationCancelEventArgs.cs
- UnmanagedMemoryAccessor.cs
- DbProviderConfigurationHandler.cs
- RectangleGeometry.cs
- TypeInitializationException.cs
- InteropTrackingRecord.cs