Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / CodeActivity.cs / 1305376 / CodeActivity.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities { using System.Activities.Runtime; using System.Activities.Validation; using System.Collections.Generic; using System.Runtime; using System.Runtime.Serialization; public abstract class CodeActivity : Activity { protected CodeActivity() { } [IgnoreDataMember] [Fx.Tag.KnownXamlExternal] protected sealed override FuncImplementation { get { return null; } set { if (value != null) { throw FxTrace.Exception.AsError(new NotSupportedException()); } } } protected abstract void Execute(CodeActivityContext context); sealed internal override void InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) { CodeActivityContext context = executor.CodeActivityContextPool.Acquire(); try { context.Initialize(instance, executor); Execute(context); } finally { context.Dispose(); executor.CodeActivityContextPool.Release(context); } } sealed internal override void InternalCancel(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) { Fx.Assert("Cancel should never be called on CodeActivity since it's synchronous"); } sealed internal override void InternalAbort(ActivityInstance instance, ActivityExecutor executor, Exception terminationReason) { // no-op, this is only called if an exception is thrown out of execute } sealed internal override void OnInternalCacheMetadata(bool createEmptyBindings) { CodeActivityMetadata metadata = new CodeActivityMetadata(this, this.GetParentEnvironment(), createEmptyBindings); CacheMetadata(metadata); metadata.Dispose(); } protected sealed override void CacheMetadata(ActivityMetadata metadata) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.WrongCacheMetadataForCodeActivity)); } protected virtual void CacheMetadata(CodeActivityMetadata metadata) { // We bypass the metadata call to avoid the null checks SetArgumentsCollection(ReflectedInformation.GetArguments(this), metadata.CreateEmptyBindings); } } public abstract class CodeActivity : Activity { protected CodeActivity() { } [IgnoreDataMember] [Fx.Tag.KnownXamlExternal] protected sealed override Func Implementation { get { return null; } set { if (value != null) { throw FxTrace.Exception.AsError(new NotSupportedException()); } } } protected abstract TResult Execute(CodeActivityContext context); sealed internal override void InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) { CodeActivityContext context = executor.CodeActivityContextPool.Acquire(); try { context.Initialize(instance, executor); TResult executeResult = Execute(context); this.Result.Set(context, executeResult); } finally { context.Dispose(); executor.CodeActivityContextPool.Release(context); } } sealed internal override void InternalCancel(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) { Fx.Assert("Cancel should never be called on CodeActivity since it's synchronous"); } sealed internal override void InternalAbort(ActivityInstance instance, ActivityExecutor executor, Exception terminationReason) { // no-op, this is only called if an exception is thrown out of execute } sealed internal override void OnInternalCacheMetadataExceptResult(bool createEmptyBindings) { CodeActivityMetadata metadata = new CodeActivityMetadata(this, this.GetParentEnvironment(), createEmptyBindings); CacheMetadata(metadata); metadata.Dispose(); } protected sealed override void CacheMetadata(ActivityMetadata metadata) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.WrongCacheMetadataForCodeActivity)); } protected virtual void CacheMetadata(CodeActivityMetadata metadata) { // We bypass the metadata call to avoid the null checks SetArgumentsCollection(ReflectedInformation.GetArguments(this), metadata.CreateEmptyBindings); } } } // 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
- BooleanKeyFrameCollection.cs
- ExcCanonicalXml.cs
- TargetControlTypeAttribute.cs
- PageBuildProvider.cs
- SmtpFailedRecipientException.cs
- DuplicateDetector.cs
- DataGridPagerStyle.cs
- AuthenticationService.cs
- SecurityTokenResolver.cs
- RayHitTestParameters.cs
- ClientApiGenerator.cs
- FormViewRow.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- StatusBarItemAutomationPeer.cs
- UniqueContractNameValidationBehavior.cs
- SystemUdpStatistics.cs
- StylusDownEventArgs.cs
- SerializationInfoEnumerator.cs
- QueryCacheKey.cs
- CorrelationInitializer.cs
- ParallelTimeline.cs
- Hex.cs
- ResourceCategoryAttribute.cs
- httpapplicationstate.cs
- EventLogPermission.cs
- TableLayoutRowStyleCollection.cs
- InvalidEnumArgumentException.cs
- EasingQuaternionKeyFrame.cs
- CreateRefExpr.cs
- IteratorFilter.cs
- ValidationService.cs
- TrustLevel.cs
- UriSchemeKeyedCollection.cs
- SegmentInfo.cs
- PopupRoot.cs
- CrossAppDomainChannel.cs
- UserControlAutomationPeer.cs
- CompoundFileStreamReference.cs
- NativeMethods.cs
- Animatable.cs
- DataServiceProviderMethods.cs
- ComponentSerializationService.cs
- ObjectDataSourceWizardForm.cs
- Decimal.cs
- MoveSizeWinEventHandler.cs
- DelegateBodyWriter.cs
- DispatcherOperation.cs
- DependencyProperty.cs
- HtmlInputHidden.cs
- SecurityHeaderElementInferenceEngine.cs
- CategoryGridEntry.cs
- SqlRowUpdatingEvent.cs
- CssStyleCollection.cs
- SqlErrorCollection.cs
- ViewBase.cs
- QualifiedId.cs
- HitTestDrawingContextWalker.cs
- ChildChangedEventArgs.cs
- MemoryFailPoint.cs
- CompiledRegexRunner.cs
- _KerberosClient.cs
- NumericUpDownAcceleration.cs
- PropertyRef.cs
- CodeDomSerializerBase.cs
- CustomError.cs
- XmlNamedNodeMap.cs
- ModuleElement.cs
- PageAsyncTaskManager.cs
- TitleStyle.cs
- ParallelEnumerable.cs
- SendMailErrorEventArgs.cs
- FileUtil.cs
- SAPIEngineTypes.cs
- ImageList.cs
- SystemKeyConverter.cs
- RootBrowserWindow.cs
- Visual.cs
- HttpHeaderCollection.cs
- DataRelationCollection.cs
- TypeUtil.cs
- ActivityCodeDomSerializationManager.cs
- Point3DCollectionValueSerializer.cs
- LinqDataSourceContextData.cs
- ImageDrawing.cs
- SystemIdentity.cs
- HexParser.cs
- WebExceptionStatus.cs
- QilGeneratorEnv.cs
- OrthographicCamera.cs
- CachedFontFace.cs
- DbParameterHelper.cs
- PolyLineSegmentFigureLogic.cs
- BooleanConverter.cs
- ComAwareEventInfo.cs
- CellQuery.cs
- XappLauncher.cs
- NameService.cs
- DataRow.cs
- XmlFormatExtensionPointAttribute.cs
- Win32SafeHandles.cs