Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / SynchronizationContextHelper.cs / 1305376 / SynchronizationContextHelper.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities { using System.Runtime; using System.Threading; using System.Security; static class SynchronizationContextHelper { static WFDefaultSynchronizationContext defaultContext; public static SynchronizationContext GetDefaultSynchronizationContext() { if (SynchronizationContextHelper.defaultContext == null) { SynchronizationContextHelper.defaultContext = new WFDefaultSynchronizationContext(); } return SynchronizationContextHelper.defaultContext; } public static SynchronizationContext CloneSynchronizationContext(SynchronizationContext context) { Fx.Assert(context != null, "null context parameter"); WFDefaultSynchronizationContext wfDefaultContext = context as WFDefaultSynchronizationContext; if (wfDefaultContext != null) { Fx.Assert(SynchronizationContextHelper.defaultContext != null, "We must have set the static member by now!"); return SynchronizationContextHelper.defaultContext; } else { return context.CreateCopy(); } } class WFDefaultSynchronizationContext : SynchronizationContext { public WFDefaultSynchronizationContext() { } public override void Post(SendOrPostCallback d, object state) { new SendOrPostCallbackActionItem(d, state).PostWithNoContext(); } public override void Send(SendOrPostCallback d, object state) { d(state); } class SendOrPostCallbackActionItem : ActionItem { SendOrPostCallback callback; object state; public SendOrPostCallbackActionItem(SendOrPostCallback callback, object state) { this.callback = callback; this.state = state; } public void PostWithNoContext() { base.ScheduleWithoutContext(); } protected override void Invoke() { this.callback(state); } } } } } // 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
- UTF8Encoding.cs
- HitTestFilterBehavior.cs
- ActivityScheduledRecord.cs
- xsdvalidator.cs
- DataTableClearEvent.cs
- SafeTokenHandle.cs
- EndEvent.cs
- BaseProcessor.cs
- XmlSchemaInclude.cs
- AnchorEditor.cs
- NativeMethods.cs
- DateTimeConverter2.cs
- Char.cs
- KeyValueInternalCollection.cs
- TextBoxRenderer.cs
- MapPathBasedVirtualPathProvider.cs
- WindowsTokenRoleProvider.cs
- EpmTargetTree.cs
- DataGridToolTip.cs
- XmlSchemaDocumentation.cs
- CompiledELinqQueryState.cs
- ExecutionContext.cs
- EntityModelBuildProvider.cs
- HeaderedItemsControl.cs
- TraceSection.cs
- DescendantOverDescendantQuery.cs
- MissingManifestResourceException.cs
- FlowDocumentPage.cs
- XPathScanner.cs
- RecordBuilder.cs
- ContainerControl.cs
- PropertyCondition.cs
- DataSpaceManager.cs
- hebrewshape.cs
- PeerTransportCredentialType.cs
- TypeDependencyAttribute.cs
- TogglePatternIdentifiers.cs
- StickyNote.cs
- XPathDescendantIterator.cs
- ManipulationDelta.cs
- EasingQuaternionKeyFrame.cs
- WebPartTransformerCollection.cs
- ObjectKeyFrameCollection.cs
- DispatcherEventArgs.cs
- TypeBinaryExpression.cs
- ScrollChrome.cs
- Metadata.cs
- PolicyLevel.cs
- UnsafeNativeMethods.cs
- DomainUpDown.cs
- DataBoundControl.cs
- Image.cs
- ReadContentAsBinaryHelper.cs
- GACIdentityPermission.cs
- ClientScriptManagerWrapper.cs
- SerializationInfo.cs
- EventLogPermissionAttribute.cs
- CursorConverter.cs
- EventEntry.cs
- WebPartTracker.cs
- CommandValueSerializer.cs
- HtmlTextArea.cs
- FloaterParaClient.cs
- TiffBitmapEncoder.cs
- TableCellCollection.cs
- RelationalExpressions.cs
- SpeakCompletedEventArgs.cs
- SafeThreadHandle.cs
- MultiTrigger.cs
- SerializeAbsoluteContext.cs
- ParameterCollection.cs
- WinFormsSpinner.cs
- RSAPKCS1KeyExchangeFormatter.cs
- TypeUtil.cs
- ColumnMapProcessor.cs
- WindowsContainer.cs
- FrugalMap.cs
- ContainerSelectorActiveEvent.cs
- StateDesigner.LayoutSelectionGlyph.cs
- NullReferenceException.cs
- ScrollPatternIdentifiers.cs
- EntitySqlQueryBuilder.cs
- MimeObjectFactory.cs
- GlyphInfoList.cs
- ContainerParagraph.cs
- Nullable.cs
- DataGridViewSelectedRowCollection.cs
- CacheHelper.cs
- BrowserCapabilitiesCompiler.cs
- BasicCellRelation.cs
- DataGridViewControlCollection.cs
- FontUnit.cs
- TextServicesLoader.cs
- Proxy.cs
- WebPermission.cs
- XmlAttributeProperties.cs
- MenuItemBindingCollection.cs
- NotImplementedException.cs
- SqlMethodTransformer.cs
- EventArgs.cs