Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Net / System / Net / Mail / MultiAsyncResult.cs / 1 / MultiAsyncResult.cs
namespace System.Net.Mime { using System; internal class MultiAsyncResult : LazyAsyncResult { int outstanding; object context; internal MultiAsyncResult(object context, AsyncCallback callback, object state) : base(context,state,callback) { this.context = context; } internal object Context { get { return this.context; } } internal void Enter() { Increment(); } internal void Leave() { Decrement(); } internal void Leave(object result) { this.Result = result; Decrement(); } void Decrement() { if (System.Threading.Interlocked.Decrement(ref this.outstanding) == -1) { base.InvokeCallback(Result); } } void Increment() { System.Threading.Interlocked.Increment(ref this.outstanding); } internal void CompleteSequence() { Decrement(); } internal static object End(IAsyncResult result) { MultiAsyncResult thisPtr = (MultiAsyncResult)result; thisPtr.InternalWaitForCompletion(); return thisPtr.Result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Net.Mime { using System; internal class MultiAsyncResult : LazyAsyncResult { int outstanding; object context; internal MultiAsyncResult(object context, AsyncCallback callback, object state) : base(context,state,callback) { this.context = context; } internal object Context { get { return this.context; } } internal void Enter() { Increment(); } internal void Leave() { Decrement(); } internal void Leave(object result) { this.Result = result; Decrement(); } void Decrement() { if (System.Threading.Interlocked.Decrement(ref this.outstanding) == -1) { base.InvokeCallback(Result); } } void Increment() { System.Threading.Interlocked.Increment(ref this.outstanding); } internal void CompleteSequence() { Decrement(); } internal static object End(IAsyncResult result) { MultiAsyncResult thisPtr = (MultiAsyncResult)result; thisPtr.InternalWaitForCompletion(); return thisPtr.Result; } } } // 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
- BindingSource.cs
- AssemblyBuilderData.cs
- DynamicDataRouteHandler.cs
- FormViewRow.cs
- DataBindingCollection.cs
- ThreadStartException.cs
- _LocalDataStoreMgr.cs
- SQLRoleProvider.cs
- ProjectionRewriter.cs
- WebBrowserUriTypeConverter.cs
- QilScopedVisitor.cs
- ActivityDesignerHelper.cs
- FloatUtil.cs
- ScriptMethodAttribute.cs
- BindingCompleteEventArgs.cs
- TaskFileService.cs
- ErrorWrapper.cs
- SecurityContextSecurityTokenParameters.cs
- TextCharacters.cs
- XmlSchemaComplexContent.cs
- ZipIORawDataFileBlock.cs
- PolyBezierSegment.cs
- TimerEventSubscription.cs
- CounterSample.cs
- FullTextState.cs
- TextDecorationCollection.cs
- QilPatternVisitor.cs
- PopupEventArgs.cs
- FixedHyperLink.cs
- BitmapEffectOutputConnector.cs
- ConnectionPoint.cs
- XmlBufferReader.cs
- CodeIndexerExpression.cs
- CorrelationTokenTypeConvertor.cs
- MatchNoneMessageFilter.cs
- DesignTableCollection.cs
- XmlSchemaRedefine.cs
- SQLInt16.cs
- DataGridViewButtonCell.cs
- PeerTransportBindingElement.cs
- Menu.cs
- TaskFormBase.cs
- CheckBoxFlatAdapter.cs
- LightweightCodeGenerator.cs
- RepeatButton.cs
- SerialPinChanges.cs
- ComEventsInfo.cs
- CompoundFileStorageReference.cs
- Parser.cs
- FixedStringLookup.cs
- ReadingWritingEntityEventArgs.cs
- ColorInterpolationModeValidation.cs
- ContentValidator.cs
- CodePageEncoding.cs
- TimeoutValidationAttribute.cs
- RightsManagementInformation.cs
- _ChunkParse.cs
- ChannelTokenTypeConverter.cs
- TraceHandler.cs
- SqlUnionizer.cs
- _NegoState.cs
- BoolLiteral.cs
- ResourceExpressionBuilder.cs
- PrivilegeNotHeldException.cs
- XmlSchemaObject.cs
- TypeBuilder.cs
- httpstaticobjectscollection.cs
- XmlToDatasetMap.cs
- SupportsEventValidationAttribute.cs
- WebPartEditorOkVerb.cs
- RepeatButtonAutomationPeer.cs
- ObjectStateFormatter.cs
- InputLangChangeRequestEvent.cs
- KeyValueSerializer.cs
- PageAdapter.cs
- InvalidCardException.cs
- TypeName.cs
- OleDbCommandBuilder.cs
- Publisher.cs
- HtmlControlPersistable.cs
- Link.cs
- HostProtectionPermission.cs
- StrokeNodeEnumerator.cs
- DataDocumentXPathNavigator.cs
- WsdlImporterElementCollection.cs
- PointConverter.cs
- XmlSchemaProviderAttribute.cs
- FormViewUpdateEventArgs.cs
- MergeFailedEvent.cs
- ToolStripRenderer.cs
- WebBaseEventKeyComparer.cs
- DecimalStorage.cs
- DataServiceEntityAttribute.cs
- MaskDescriptors.cs
- WsiProfilesElement.cs
- CompiledELinqQueryState.cs
- XmlSchemaSimpleTypeRestriction.cs
- CodeTypeReferenceExpression.cs
- ProcessManager.cs
- Compiler.cs