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
- DataGridViewCheckBoxColumn.cs
- DecimalConstantAttribute.cs
- ArgumentOutOfRangeException.cs
- GroupItemAutomationPeer.cs
- Span.cs
- ToolStripStatusLabel.cs
- OdbcDataAdapter.cs
- ReadOnlyAttribute.cs
- CommunicationObject.cs
- ProxyWebPart.cs
- Speller.cs
- EntityCommandDefinition.cs
- TemplateParser.cs
- CacheMemory.cs
- SqlAliasesReferenced.cs
- PerformanceCounters.cs
- AspCompat.cs
- HtmlSelect.cs
- HttpModulesSection.cs
- DictionaryContent.cs
- HyperLink.cs
- Exceptions.cs
- sqlstateclientmanager.cs
- AssemblyNameProxy.cs
- QueryTreeBuilder.cs
- XmlnsCompatibleWithAttribute.cs
- SizeConverter.cs
- DesignUtil.cs
- PasswordTextNavigator.cs
- CodeDirectionExpression.cs
- DoubleAnimationClockResource.cs
- Metadata.cs
- UIntPtr.cs
- InvalidWorkflowException.cs
- DataTableCollection.cs
- EditableTreeList.cs
- EdmItemError.cs
- DataGridViewDataErrorEventArgs.cs
- GCHandleCookieTable.cs
- SafeTimerHandle.cs
- CodeIndexerExpression.cs
- ConsoleTraceListener.cs
- NamespaceDecl.cs
- QueryOptionExpression.cs
- Pkcs9Attribute.cs
- BamlStream.cs
- RegionInfo.cs
- PropertyPathWorker.cs
- XmlDictionaryReader.cs
- EntityCommandCompilationException.cs
- ToolboxDataAttribute.cs
- BookmarkResumptionRecord.cs
- DbParameterCollection.cs
- SqlMetaData.cs
- MultiTrigger.cs
- InplaceBitmapMetadataWriter.cs
- CodeArrayCreateExpression.cs
- KnownTypesProvider.cs
- Package.cs
- MediaContextNotificationWindow.cs
- EntityCommandCompilationException.cs
- FormParameter.cs
- DebugView.cs
- TextUtf8RawTextWriter.cs
- WebAdminConfigurationHelper.cs
- XmlQualifiedNameTest.cs
- RelationshipConverter.cs
- Graphics.cs
- ContentOperations.cs
- PlainXmlWriter.cs
- HandleExceptionArgs.cs
- WSSecurityXXX2005.cs
- ConfigViewGenerator.cs
- SrgsGrammar.cs
- CursorConverter.cs
- LassoSelectionBehavior.cs
- MeshGeometry3D.cs
- IteratorFilter.cs
- BuilderPropertyEntry.cs
- ApplicationActivator.cs
- DataBoundControl.cs
- CachingHintValidation.cs
- Registry.cs
- XamlPoint3DCollectionSerializer.cs
- EdmSchemaAttribute.cs
- NullableDoubleAverageAggregationOperator.cs
- AmbientLight.cs
- Int32Rect.cs
- SecurityPolicySection.cs
- BitmapCodecInfo.cs
- SystemIPv4InterfaceProperties.cs
- AdornedElementPlaceholder.cs
- XmlSchemaCompilationSettings.cs
- Span.cs
- InternalResources.cs
- DelegatingConfigHost.cs
- XmlNamedNodeMap.cs
- ConditionCollection.cs
- EventHandlersStore.cs
- BasicExpandProvider.cs