Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConnectionStringsExpressionEditor.cs
- OracleCommandSet.cs
- IntegerValidator.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- RowToParametersTransformer.cs
- UnsafePeerToPeerMethods.cs
- GlyphInfoList.cs
- FontFamily.cs
- EntityViewContainer.cs
- ValidatorCompatibilityHelper.cs
- ProvideValueServiceProvider.cs
- VirtualDirectoryMappingCollection.cs
- DataServiceBehavior.cs
- EntityClientCacheEntry.cs
- DataSourceControl.cs
- EditorPartChrome.cs
- BaseInfoTable.cs
- DataControlLinkButton.cs
- BaseParagraph.cs
- MetadataUtil.cs
- EventManager.cs
- EntityContainerAssociationSet.cs
- ProcessModuleCollection.cs
- PreservationFileWriter.cs
- SqlServices.cs
- MeasureData.cs
- MenuItemCollection.cs
- DefaultValueAttribute.cs
- SoapCodeExporter.cs
- DataGridCellsPresenter.cs
- KoreanCalendar.cs
- SessionSwitchEventArgs.cs
- WebProxyScriptElement.cs
- XmlValidatingReader.cs
- SharedPerformanceCounter.cs
- LocationSectionRecord.cs
- FormsAuthenticationCredentials.cs
- XmlSchemaType.cs
- X509ChainPolicy.cs
- BaseDataListComponentEditor.cs
- CodeVariableDeclarationStatement.cs
- OLEDB_Util.cs
- baseaxisquery.cs
- ReadWriteObjectLock.cs
- TextServicesCompartment.cs
- UndoManager.cs
- Switch.cs
- ImmComposition.cs
- MetadataSource.cs
- PtsContext.cs
- DataSourceSerializationException.cs
- InternalMappingException.cs
- DataGridViewColumnConverter.cs
- IndexOutOfRangeException.cs
- NumericUpDownAccelerationCollection.cs
- UIServiceHelper.cs
- StylusPointPropertyInfoDefaults.cs
- AccessibleObject.cs
- Claim.cs
- RadioButtonStandardAdapter.cs
- IntSecurity.cs
- XamlVector3DCollectionSerializer.cs
- StrokeNode.cs
- VectorAnimation.cs
- PageThemeParser.cs
- BindingExpression.cs
- Substitution.cs
- FilterEventArgs.cs
- ObjectConverter.cs
- DocumentGridPage.cs
- wgx_render.cs
- TextFormattingConverter.cs
- CodeGenHelper.cs
- ValidationEventArgs.cs
- RoleProviderPrincipal.cs
- StringSorter.cs
- TreeWalkHelper.cs
- OdbcConnectionOpen.cs
- httpapplicationstate.cs
- PatternMatcher.cs
- IisTraceListener.cs
- TextTreeText.cs
- DaylightTime.cs
- InvalidEnumArgumentException.cs
- ping.cs
- Restrictions.cs
- StylusPointPropertyInfoDefaults.cs
- BlurEffect.cs
- SecurityTokenException.cs
- DnsCache.cs
- XmlUrlResolver.cs
- GroupBoxRenderer.cs
- CodeDirectionExpression.cs
- EditorZone.cs
- BitmapEffectState.cs
- Directory.cs
- SecurityRuntime.cs
- CompositeActivityValidator.cs
- OleDbError.cs
- Primitive.cs