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
- MatchingStyle.cs
- XmlEnumAttribute.cs
- CapabilitiesState.cs
- Literal.cs
- Transform.cs
- ValidationErrorCollection.cs
- PropertyGeneratedEventArgs.cs
- SQLByte.cs
- HandleCollector.cs
- SecurityException.cs
- RadioButtonList.cs
- EnterpriseServicesHelper.cs
- XmlUtil.cs
- Registry.cs
- SelectionPattern.cs
- RegisteredDisposeScript.cs
- XhtmlTextWriter.cs
- Image.cs
- Documentation.cs
- CounterCreationDataCollection.cs
- ObjectStateManagerMetadata.cs
- LassoSelectionBehavior.cs
- InternalDispatchObject.cs
- WebPartExportVerb.cs
- FlowDocumentScrollViewer.cs
- UnderstoodHeaders.cs
- Table.cs
- SqlInternalConnection.cs
- PrtCap_Base.cs
- DesignerOptionService.cs
- TiffBitmapDecoder.cs
- BitmapData.cs
- AttributeProviderAttribute.cs
- CmsInterop.cs
- TextTrailingWordEllipsis.cs
- ECDiffieHellmanPublicKey.cs
- DocumentEventArgs.cs
- FilterQueryOptionExpression.cs
- DataGridViewRowHeaderCell.cs
- SystemIPGlobalStatistics.cs
- ExtractedStateEntry.cs
- UnsafeNativeMethods.cs
- Animatable.cs
- ArglessEventHandlerProxy.cs
- SerializerProvider.cs
- FunctionImportElement.cs
- MergePropertyDescriptor.cs
- CodeSubDirectoriesCollection.cs
- HttpHandlerAction.cs
- DeviceContexts.cs
- PerformanceCounterManager.cs
- DefaultTraceListener.cs
- FileSystemEnumerable.cs
- _CommandStream.cs
- DelayDesigner.cs
- PropertyValueUIItem.cs
- BrowserCapabilitiesCodeGenerator.cs
- EntityProviderServices.cs
- ValueUtilsSmi.cs
- StorageInfo.cs
- TrackingLocationCollection.cs
- SvcMapFileSerializer.cs
- DbModificationCommandTree.cs
- Keywords.cs
- FixUp.cs
- StringConcat.cs
- StyleCollection.cs
- InvalidFilterCriteriaException.cs
- ModelTypeConverter.cs
- SoapClientProtocol.cs
- FixedSOMTableCell.cs
- XXXOnTypeBuilderInstantiation.cs
- xdrvalidator.cs
- SingleObjectCollection.cs
- QuerySetOp.cs
- RotationValidation.cs
- HttpResponseWrapper.cs
- TextEditorContextMenu.cs
- EditorBrowsableAttribute.cs
- ElementNotAvailableException.cs
- ExportOptions.cs
- AppLevelCompilationSectionCache.cs
- ListBindingConverter.cs
- BaseDataListActionList.cs
- XmlSignatureManifest.cs
- DbProviderFactory.cs
- MouseGestureValueSerializer.cs
- GeneralTransform3DTo2D.cs
- _WebProxyDataBuilder.cs
- EmptyTextWriter.cs
- DelegateBodyWriter.cs
- TextRangeEditTables.cs
- RadioButtonBaseAdapter.cs
- SizeChangedEventArgs.cs
- JoinTreeNode.cs
- StandardOleMarshalObject.cs
- WebHeaderCollection.cs
- ProxyAttribute.cs
- ClientSettingsStore.cs
- HostSecurityManager.cs