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
- CodeTypeMemberCollection.cs
- RotateTransform.cs
- EnvironmentPermission.cs
- ToolZone.cs
- OleDbInfoMessageEvent.cs
- StretchValidation.cs
- RegexCapture.cs
- DataSourceXmlSerializationAttribute.cs
- listitem.cs
- HGlobalSafeHandle.cs
- dsa.cs
- CustomAttributeBuilder.cs
- RuntimeArgumentHandle.cs
- WsdlInspector.cs
- UserControlAutomationPeer.cs
- DefaultValueAttribute.cs
- ValueSerializer.cs
- _HeaderInfo.cs
- TraceRecord.cs
- SetStoryboardSpeedRatio.cs
- FtpRequestCacheValidator.cs
- AddInBase.cs
- XsltSettings.cs
- LinkArea.cs
- TypeSemantics.cs
- WriteableBitmap.cs
- MetadataCacheItem.cs
- TextModifierScope.cs
- DataListItemEventArgs.cs
- LoopExpression.cs
- ScrollPattern.cs
- HyperLinkColumn.cs
- TextEmbeddedObject.cs
- GroupBoxAutomationPeer.cs
- ValidatedControlConverter.cs
- RadioButtonList.cs
- XLinq.cs
- PathGeometry.cs
- MediaPlayerState.cs
- DaylightTime.cs
- InstanceLockQueryResult.cs
- WebBrowser.cs
- XXXOnTypeBuilderInstantiation.cs
- UserNameSecurityToken.cs
- ImageMap.cs
- TrackBar.cs
- AsyncOperationLifetimeManager.cs
- MemberAccessException.cs
- SqlTopReducer.cs
- DBDataPermissionAttribute.cs
- UserPreferenceChangingEventArgs.cs
- CrossSiteScriptingValidation.cs
- Button.cs
- CompilerResults.cs
- TagMapInfo.cs
- MetadataPropertyAttribute.cs
- RenderDataDrawingContext.cs
- DataGridViewCellValueEventArgs.cs
- DatePickerTextBox.cs
- MediaPlayerState.cs
- ApplicationActivator.cs
- Object.cs
- ComplexLine.cs
- DeleteIndexBinder.cs
- DynamicResourceExtension.cs
- SchemaCollectionPreprocessor.cs
- SortFieldComparer.cs
- GlyphRun.cs
- DataGridViewBand.cs
- SqlNodeAnnotations.cs
- objectquery_tresulttype.cs
- Image.cs
- PeerApplication.cs
- NumericUpDownAccelerationCollection.cs
- WindowsListViewSubItem.cs
- Attachment.cs
- PropertyDescriptorGridEntry.cs
- CompiledIdentityConstraint.cs
- ResourceAssociationType.cs
- ListViewSortEventArgs.cs
- FileDetails.cs
- _SafeNetHandles.cs
- ExtenderProvidedPropertyAttribute.cs
- LocalizedNameDescriptionPair.cs
- X509CertificateTokenFactoryCredential.cs
- AppDomain.cs
- DispatcherTimer.cs
- TdsRecordBufferSetter.cs
- RegionInfo.cs
- AutomationElementCollection.cs
- IDQuery.cs
- QEncodedStream.cs
- KeyboardDevice.cs
- SendKeys.cs
- ResourceAssociationSetEnd.cs
- SqlDependency.cs
- ReaderWriterLockWrapper.cs
- DetailsViewDeletedEventArgs.cs
- TableProvider.cs