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
- ParserStack.cs
- CompareValidator.cs
- BindingsCollection.cs
- StrongNameHelpers.cs
- WSSecureConversation.cs
- XmlBinaryReader.cs
- StringDictionaryEditor.cs
- PageParser.cs
- TextPointerBase.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- updatecommandorderer.cs
- ImageSource.cs
- TemporaryBitmapFile.cs
- HandlerMappingMemo.cs
- FileVersion.cs
- formatter.cs
- ParserExtension.cs
- NativeWindow.cs
- BuildManagerHost.cs
- CalendarDateChangedEventArgs.cs
- SlipBehavior.cs
- DataControlFieldHeaderCell.cs
- ObjectMaterializedEventArgs.cs
- TouchesCapturedWithinProperty.cs
- PenContexts.cs
- EditBehavior.cs
- ResumeStoryboard.cs
- EmptyStringExpandableObjectConverter.cs
- Vector.cs
- PropertyGridView.cs
- OdbcDataAdapter.cs
- PermissionSetTriple.cs
- IssuedTokenClientBehaviorsElement.cs
- ExtendedPropertiesHandler.cs
- ComPlusInstanceProvider.cs
- RegexReplacement.cs
- PathGradientBrush.cs
- EntityTypeEmitter.cs
- HttpRequestCacheValidator.cs
- DocumentXmlWriter.cs
- ObjectDataSourceEventArgs.cs
- prompt.cs
- FrugalList.cs
- VirtualPath.cs
- DragCompletedEventArgs.cs
- BindingBase.cs
- Wildcard.cs
- DataSourceIDConverter.cs
- CommandBindingCollection.cs
- BitVector32.cs
- ScrollData.cs
- ConditionedDesigner.cs
- TargetException.cs
- MultiSelectRootGridEntry.cs
- CodeTypeMemberCollection.cs
- FileLogRecordStream.cs
- PackWebRequestFactory.cs
- MoveSizeWinEventHandler.cs
- ConnectionConsumerAttribute.cs
- ToggleButtonAutomationPeer.cs
- CellConstantDomain.cs
- SQLChars.cs
- FusionWrap.cs
- SelectedDatesCollection.cs
- CryptoSession.cs
- DiscardableAttribute.cs
- ManagedCodeMarkers.cs
- PrimitiveSchema.cs
- WinCategoryAttribute.cs
- WebRequestModulesSection.cs
- ComponentManagerBroker.cs
- printdlgexmarshaler.cs
- CommentEmitter.cs
- _NegoStream.cs
- UdpDiscoveryEndpointElement.cs
- Panel.cs
- StylusButton.cs
- TextProperties.cs
- DataGridViewTopRowAccessibleObject.cs
- AdornerLayer.cs
- StylusEditingBehavior.cs
- ECDsa.cs
- DebuggerService.cs
- DesignerSerializerAttribute.cs
- InputScope.cs
- UniqueEventHelper.cs
- Propagator.Evaluator.cs
- OleDbConnectionFactory.cs
- SiteMapNodeItem.cs
- ToolStripItemClickedEventArgs.cs
- HandlerBase.cs
- CodeCatchClause.cs
- CompilerHelpers.cs
- NamedPipeProcessProtocolHandler.cs
- StyleHelper.cs
- Column.cs
- RolePrincipal.cs
- TitleStyle.cs
- FormViewPageEventArgs.cs
- MessageDecoder.cs