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
- Compress.cs
- DocumentPage.cs
- HostUtils.cs
- GregorianCalendar.cs
- ImageCodecInfo.cs
- StreamFormatter.cs
- QueryableDataSource.cs
- ChannelManagerBase.cs
- sqlmetadatafactory.cs
- ConnectionDemuxer.cs
- MetadataCacheItem.cs
- SiteMapDesignerDataSourceView.cs
- InvalidOleVariantTypeException.cs
- PageThemeCodeDomTreeGenerator.cs
- storepermissionattribute.cs
- DbgUtil.cs
- AuthenticationServiceManager.cs
- ReadWriteObjectLock.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- HandleCollector.cs
- ComplexObject.cs
- SafeCryptContextHandle.cs
- WebPartConnectionsCancelVerb.cs
- DataServices.cs
- AuthorizationRule.cs
- QuestionEventArgs.cs
- ScaleTransform.cs
- AutomationPropertyInfo.cs
- ToolboxItem.cs
- WindowsUpDown.cs
- PlatformNotSupportedException.cs
- IntellisenseTextBox.designer.cs
- OleDbRowUpdatedEvent.cs
- TypeListConverter.cs
- DocumentApplicationJournalEntry.cs
- EmptyControlCollection.cs
- WindowsImpersonationContext.cs
- DBConnectionString.cs
- XmlReaderSettings.cs
- PropertyGridCommands.cs
- GridLength.cs
- TypeConverterAttribute.cs
- linebase.cs
- SymDocumentType.cs
- TextSegment.cs
- FormClosedEvent.cs
- HttpProfileGroupBase.cs
- Calendar.cs
- RowType.cs
- RegexFCD.cs
- BigInt.cs
- GeneralTransform3D.cs
- RedirectionProxy.cs
- ByteArrayHelperWithString.cs
- SqlInternalConnection.cs
- PieceNameHelper.cs
- ExtenderProvidedPropertyAttribute.cs
- UserPreferenceChangedEventArgs.cs
- PermissionSetEnumerator.cs
- InternalRelationshipCollection.cs
- AccessorTable.cs
- FrameSecurityDescriptor.cs
- Latin1Encoding.cs
- PropertyTabAttribute.cs
- elementinformation.cs
- ProfileParameter.cs
- LogWriteRestartAreaState.cs
- HttpSessionStateWrapper.cs
- AuthorizationRule.cs
- AvtEvent.cs
- IndexerNameAttribute.cs
- EnvironmentPermission.cs
- TagMapInfo.cs
- HitTestResult.cs
- IISMapPath.cs
- ChameleonKey.cs
- CompoundFileStorageReference.cs
- CodeGeneratorOptions.cs
- TextModifier.cs
- SettingsPropertyCollection.cs
- ObjectViewQueryResultData.cs
- ProtocolViolationException.cs
- ToolStripCollectionEditor.cs
- SmiContextFactory.cs
- RequestTimeoutManager.cs
- GPRECTF.cs
- MouseDevice.cs
- indexingfiltermarshaler.cs
- _NegoStream.cs
- HashRepartitionStream.cs
- RegexCompilationInfo.cs
- InputLanguageSource.cs
- MenuItemStyleCollection.cs
- EDesignUtil.cs
- CodeConditionStatement.cs
- Predicate.cs
- XmlElementList.cs
- SoundPlayer.cs
- SerializationSectionGroup.cs
- TextRunCache.cs