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
- MetadataItemEmitter.cs
- BmpBitmapEncoder.cs
- SafeHandles.cs
- MainMenu.cs
- HtmlElementCollection.cs
- CoTaskMemHandle.cs
- MimeFormatter.cs
- CaseInsensitiveComparer.cs
- SendKeys.cs
- _OverlappedAsyncResult.cs
- ButtonChrome.cs
- ToolTipService.cs
- ToolboxDataAttribute.cs
- SourceFilter.cs
- Deserializer.cs
- PageBuildProvider.cs
- DocumentSequence.cs
- ConfigurationStrings.cs
- DataBindingCollection.cs
- TextServicesContext.cs
- CheckBoxList.cs
- CharEntityEncoderFallback.cs
- MultiPropertyDescriptorGridEntry.cs
- HtmlHead.cs
- DataSourceView.cs
- ValueTypeFieldReference.cs
- SQLDateTimeStorage.cs
- AuthenticatedStream.cs
- ErrorsHelper.cs
- XmlCharCheckingReader.cs
- DispatchChannelSink.cs
- Substitution.cs
- JulianCalendar.cs
- DeploymentSectionCache.cs
- ListSourceHelper.cs
- BaseParaClient.cs
- Token.cs
- Point.cs
- DateTimeFormatInfoScanner.cs
- GlobalizationAssembly.cs
- SmtpFailedRecipientsException.cs
- StoreAnnotationsMap.cs
- DataGridViewComboBoxEditingControl.cs
- XslTransformFileEditor.cs
- XmlSchemaAttribute.cs
- BitmapEffectInput.cs
- ObjectStateManagerMetadata.cs
- SqlIdentifier.cs
- AttributeQuery.cs
- TrustManagerPromptUI.cs
- HTMLTagNameToTypeMapper.cs
- FixedNode.cs
- FrameSecurityDescriptor.cs
- CodeCommentStatementCollection.cs
- AppDomainUnloadedException.cs
- DataObject.cs
- PropertyInfoSet.cs
- CodeSubDirectoriesCollection.cs
- EntityContainer.cs
- RoleService.cs
- SerialPinChanges.cs
- RangeBaseAutomationPeer.cs
- SizeAnimationClockResource.cs
- RealizationDrawingContextWalker.cs
- NativeConfigurationLoader.cs
- UrlMappingCollection.cs
- XPathPatternParser.cs
- HostUtils.cs
- NonVisualControlAttribute.cs
- ByteConverter.cs
- Decoder.cs
- TypeCodeDomSerializer.cs
- FixedNode.cs
- COM2PropertyDescriptor.cs
- DateTimeConstantAttribute.cs
- DataGridViewImageCell.cs
- TrackingStringDictionary.cs
- CodePageUtils.cs
- FormatVersion.cs
- WindowsFont.cs
- OutputCacheProviderCollection.cs
- IxmlLineInfo.cs
- XmlSchema.cs
- SecurityElement.cs
- SqlCacheDependencyDatabase.cs
- Win32MouseDevice.cs
- BitmapCodecInfo.cs
- ObjectDisposedException.cs
- XmlImplementation.cs
- DataRecordInternal.cs
- ConfigurationProperty.cs
- DomNameTable.cs
- BaseDataList.cs
- Rect3D.cs
- BindingCompleteEventArgs.cs
- ActiveXHost.cs
- SaveFileDialog.cs
- SafeHandle.cs
- SpeechRecognitionEngine.cs
- AuthenticationModuleElementCollection.cs