Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / Mail / ClosableStream.cs / 1 / 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());
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LinearGradientBrush.cs
- GridViewRow.cs
- DispatchChannelSink.cs
- ConnectionsZone.cs
- WindowsAuthenticationEventArgs.cs
- IChannel.cs
- ProviderUtil.cs
- ScriptServiceAttribute.cs
- SecurityAlgorithmSuite.cs
- FormatterServices.cs
- DocComment.cs
- DriveNotFoundException.cs
- InkCanvas.cs
- SettingsPropertyNotFoundException.cs
- WSTrust.cs
- ErrorRuntimeConfig.cs
- RSAProtectedConfigurationProvider.cs
- transactioncontext.cs
- FontSourceCollection.cs
- CacheEntry.cs
- ToolStripPanelRenderEventArgs.cs
- XmlChildEnumerator.cs
- SessionEndingCancelEventArgs.cs
- WeakEventManager.cs
- ConvertEvent.cs
- SimpleBitVector32.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- EasingFunctionBase.cs
- XmlSiteMapProvider.cs
- Literal.cs
- TypeDelegator.cs
- FontInfo.cs
- SplitContainerDesigner.cs
- SchemaTypeEmitter.cs
- CFStream.cs
- TextTreeTextNode.cs
- ADConnectionHelper.cs
- Vector3DCollection.cs
- CacheChildrenQuery.cs
- TriggerActionCollection.cs
- Exceptions.cs
- OleDbFactory.cs
- DirectoryInfo.cs
- AppDomainFactory.cs
- TreeNodeSelectionProcessor.cs
- FloatMinMaxAggregationOperator.cs
- CollectionsUtil.cs
- Invariant.cs
- Comparer.cs
- HttpHandlerAction.cs
- SRGSCompiler.cs
- SmiEventSink.cs
- CertificateElement.cs
- XmlAnyAttributeAttribute.cs
- SchemaTableOptionalColumn.cs
- TreeNodeBinding.cs
- DecimalAnimationBase.cs
- AsyncContentLoadedEventArgs.cs
- BrowserCapabilitiesFactoryBase.cs
- SiteMapDataSource.cs
- Pkcs9Attribute.cs
- SqlTopReducer.cs
- TaiwanLunisolarCalendar.cs
- XmlHierarchyData.cs
- PackageRelationshipCollection.cs
- GCHandleCookieTable.cs
- EntityDataSourceDesigner.cs
- QueryResponse.cs
- XmlDocument.cs
- SafeMILHandle.cs
- RectAnimationUsingKeyFrames.cs
- InternalPolicyElement.cs
- ThemeConfigurationDialog.cs
- ClientRuntimeConfig.cs
- PropertyToken.cs
- DoubleKeyFrameCollection.cs
- NullEntityWrapper.cs
- MouseButtonEventArgs.cs
- MessageBox.cs
- HtmlTableRowCollection.cs
- Propagator.cs
- SqlCacheDependencyDatabaseCollection.cs
- ProtocolImporter.cs
- TimeZone.cs
- DataGridColumnDropSeparator.cs
- StylusShape.cs
- SecurityManager.cs
- MemberInfoSerializationHolder.cs
- SelectionGlyph.cs
- GeneralTransform3DGroup.cs
- DetailsViewDeletedEventArgs.cs
- PropertyKey.cs
- TemplateXamlParser.cs
- CroppedBitmap.cs
- XmlAnyAttributeAttribute.cs
- EncoderNLS.cs
- SecurityPermission.cs
- SendKeys.cs
- XmlSchemaFacet.cs
- COM2EnumConverter.cs