Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / MultiAsyncResult.cs / 1305376 / 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
- ReadWriteObjectLock.cs
- RoutedUICommand.cs
- TextWriterTraceListener.cs
- LambdaCompiler.Generated.cs
- SizeValueSerializer.cs
- ControlValuePropertyAttribute.cs
- ClientConfigurationHost.cs
- XmlWrappingReader.cs
- ConsoleCancelEventArgs.cs
- Visual3D.cs
- HyperLinkStyle.cs
- AdRotator.cs
- CaretElement.cs
- PictureBox.cs
- BypassElementCollection.cs
- FileRegion.cs
- SignatureToken.cs
- GridViewRowPresenter.cs
- StylusPointProperty.cs
- WebPartConnectionCollection.cs
- _TransmitFileOverlappedAsyncResult.cs
- UnsafeNativeMethods.cs
- OptimalTextSource.cs
- ConfigurationStrings.cs
- CustomErrorsSection.cs
- ServiceDescriptions.cs
- ColumnReorderedEventArgs.cs
- FilterableAttribute.cs
- StatusBarPanelClickEvent.cs
- ToolStrip.cs
- ResumeStoryboard.cs
- HorizontalAlignConverter.cs
- regiisutil.cs
- ItemCollection.cs
- SmiContext.cs
- CurrentTimeZone.cs
- nulltextcontainer.cs
- BeginGetFileNameFromUserRequest.cs
- CommandHelper.cs
- TypefaceMap.cs
- SapiGrammar.cs
- RequestCachePolicyConverter.cs
- ConfigurationManagerHelperFactory.cs
- OptimalTextSource.cs
- TypeBuilderInstantiation.cs
- SystemNetworkInterface.cs
- NameTable.cs
- KeyPressEvent.cs
- DropDownList.cs
- SafeRegistryHandle.cs
- MulticastOption.cs
- WebPartsSection.cs
- BitmapVisualManager.cs
- CreatingCookieEventArgs.cs
- SingleTagSectionHandler.cs
- TypePropertyEditor.cs
- RoutedEventConverter.cs
- SemanticResolver.cs
- WebPartExportVerb.cs
- SiteMapNode.cs
- EdmComplexPropertyAttribute.cs
- MenuAdapter.cs
- SerializationInfo.cs
- Input.cs
- EditorZoneAutoFormat.cs
- MatchingStyle.cs
- Simplifier.cs
- CacheMemory.cs
- ToolStripPanelCell.cs
- MatchAttribute.cs
- ClientEventManager.cs
- LinqDataSourceUpdateEventArgs.cs
- XamlGridLengthSerializer.cs
- TextTreeTextBlock.cs
- DecimalStorage.cs
- _ConnectOverlappedAsyncResult.cs
- ResourceExpression.cs
- TypeLoadException.cs
- ChtmlPageAdapter.cs
- ObjectCacheHost.cs
- TextSelection.cs
- DesignerCalendarAdapter.cs
- OrderByQueryOptionExpression.cs
- CompoundFileIOPermission.cs
- ParseChildrenAsPropertiesAttribute.cs
- SrgsToken.cs
- XmlSchemaType.cs
- TypefaceMetricsCache.cs
- InstanceData.cs
- StructuralCache.cs
- LiteralLink.cs
- Rule.cs
- Transform3D.cs
- Addressing.cs
- DataGridViewCellValidatingEventArgs.cs
- XmlAttributeAttribute.cs
- EntityRecordInfo.cs
- MembershipSection.cs
- CodeCommentStatement.cs
- SequentialUshortCollection.cs