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
- ImmComposition.cs
- PointCollection.cs
- StrongNameUtility.cs
- UrlPropertyAttribute.cs
- SafeNativeMethods.cs
- ServiceObjectContainer.cs
- CrossContextChannel.cs
- FileDialogPermission.cs
- ErrorStyle.cs
- WindowsStartMenu.cs
- DynamicArgumentDialog.cs
- ClaimTypes.cs
- EntityDataSourceView.cs
- ProxyWebPartManagerDesigner.cs
- CssStyleCollection.cs
- FileUtil.cs
- EventLogEntry.cs
- TimeoutValidationAttribute.cs
- SerializableTypeCodeDomSerializer.cs
- FontDialog.cs
- DesignerDataStoredProcedure.cs
- OdbcDataAdapter.cs
- ProfileSection.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- EventSourceCreationData.cs
- ChineseLunisolarCalendar.cs
- ConnectionPoint.cs
- AutomationPeer.cs
- LinqExpressionNormalizer.cs
- CompositeCollection.cs
- ExpressionCopier.cs
- odbcmetadatafactory.cs
- DataMember.cs
- ControlDesigner.cs
- HostSecurityManager.cs
- ModulesEntry.cs
- HttpChannelBindingToken.cs
- SettingsBase.cs
- TypeReference.cs
- CapabilitiesState.cs
- sqlnorm.cs
- DPCustomTypeDescriptor.cs
- XmlDataCollection.cs
- ChannelCacheSettings.cs
- AffineTransform3D.cs
- Perspective.cs
- TransformPatternIdentifiers.cs
- OrderingQueryOperator.cs
- SafeRightsManagementHandle.cs
- OpenTypeCommon.cs
- OperationInvokerBehavior.cs
- InitiatorSessionSymmetricMessageSecurityProtocol.cs
- ToolStripItemTextRenderEventArgs.cs
- RectKeyFrameCollection.cs
- UpDownBase.cs
- WindowsFormsEditorServiceHelper.cs
- StaticSiteMapProvider.cs
- EmptyReadOnlyDictionaryInternal.cs
- SkewTransform.cs
- AppSettingsReader.cs
- SqlCacheDependencySection.cs
- SafeSystemMetrics.cs
- ObjectDesignerDataSourceView.cs
- __FastResourceComparer.cs
- Command.cs
- RuleCache.cs
- BoundField.cs
- ServiceRoute.cs
- __Error.cs
- SyndicationItemFormatter.cs
- TextRange.cs
- Win32Exception.cs
- BlurEffect.cs
- GridViewCommandEventArgs.cs
- OracleParameterBinding.cs
- SoapCodeExporter.cs
- DataColumnMappingCollection.cs
- WebReferenceCollection.cs
- SignedInfo.cs
- SystemTcpConnection.cs
- PageClientProxyGenerator.cs
- OverrideMode.cs
- VerticalAlignConverter.cs
- SafeHandles.cs
- CustomAttributeSerializer.cs
- WinCategoryAttribute.cs
- PlatformCulture.cs
- ClientUtils.cs
- autovalidator.cs
- DispatcherExceptionEventArgs.cs
- ExpandedWrapper.cs
- DrawTreeNodeEventArgs.cs
- EqualityComparer.cs
- ListControlConvertEventArgs.cs
- WebPartChrome.cs
- WeakHashtable.cs
- HandlerBase.cs
- FontUnitConverter.cs
- TileBrush.cs
- DataServiceHost.cs