Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / WorkflowInspectionServices.cs / 1305376 / WorkflowInspectionServices.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Activities { using System; using System.Collections.Generic; using System.Collections; using System.Runtime; using System.Activities.Validation; public static class WorkflowInspectionServices { public static void CacheMetadata(Activity rootActivity) { CacheMetadata(rootActivity, null); } public static void CacheMetadata(Activity rootActivity, LocationReferenceEnvironment hostEnvironment) { if (rootActivity == null) { throw FxTrace.Exception.ArgumentNull("rootActivity"); } if (rootActivity.HasBeenAssociatedWithAnInstance) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.RootActivityAlreadyAssociatedWithInstance(rootActivity.DisplayName))); } IListvalidationErrors = null; if (hostEnvironment == null) { hostEnvironment = new ActivityLocationReferenceEnvironment(); } ActivityUtilities.CacheRootMetadata(rootActivity, hostEnvironment, ProcessActivityTreeOptions.FullCachingOptions, null, ref validationErrors); ActivityValidationServices.ThrowIfViolationsExist(validationErrors); } public static Activity Resolve(Activity root, string id) { if (root == null) { throw FxTrace.Exception.ArgumentNull("root"); } if (string.IsNullOrEmpty(id)) { throw FxTrace.Exception.ArgumentNullOrEmpty("id"); } if (!root.IsMetadataCached) { IList validationErrors = null; ActivityUtilities.CacheRootMetadata(root, new ActivityLocationReferenceEnvironment(), ProcessActivityTreeOptions.FullCachingOptions, null, ref validationErrors); ActivityValidationServices.ThrowIfViolationsExist(validationErrors); } QualifiedId parsedId = QualifiedId.Parse(id); Activity result; if (!QualifiedId.TryGetElementFromRoot(root, parsedId, out result)) { throw FxTrace.Exception.Argument("id", SR.IdNotFoundInWorkflow(id)); } return result; } public static IEnumerable GetActivities(Activity activity) { if (activity == null) { throw FxTrace.Exception.ArgumentNull("activity"); } if (!activity.IsMetadataCached) { IList validationErrors = null; ActivityUtilities.CacheRootMetadata(activity, new ActivityLocationReferenceEnvironment(), ProcessActivityTreeOptions.FullCachingOptions, null, ref validationErrors); ActivityValidationServices.ThrowIfViolationsExist(validationErrors); } int i = 0; for (; i < activity.RuntimeArguments.Count; i++) { RuntimeArgument argument = activity.RuntimeArguments[i]; if (argument.BoundArgument != null && argument.BoundArgument.Expression != null) { yield return argument.BoundArgument.Expression; } } for (i = 0; i < activity.RuntimeVariables.Count; i++) { Variable variable = activity.RuntimeVariables[i]; if (variable.Default != null) { yield return variable.Default; } } for (i = 0; i < activity.ImplementationVariables.Count; i++) { Variable variable = activity.ImplementationVariables[i]; if (variable.Default != null) { yield return variable.Default; } } for (i = 0; i < activity.Children.Count; i++) { yield return activity.Children[i]; } for (i = 0; i < activity.ImportedChildren.Count; i++) { yield return activity.ImportedChildren[i]; } for (i = 0; i < activity.ImplementationChildren.Count; i++) { yield return activity.ImplementationChildren[i]; } for (i = 0; i < activity.Delegates.Count; i++) { ActivityDelegate activityDelegate = activity.Delegates[i]; if (activityDelegate.Handler != null) { yield return activityDelegate.Handler; } } for (i = 0; i < activity.ImportedDelegates.Count; i++) { ActivityDelegate activityDelegate = activity.ImportedDelegates[i]; if (activityDelegate.Handler != null) { yield return activityDelegate.Handler; } } for (i = 0; i < activity.ImplementationDelegates.Count; i++) { ActivityDelegate activityDelegate = activity.ImplementationDelegates[i]; if (activityDelegate.Handler != null) { yield return activityDelegate.Handler; } } } } } // 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
- DBCSCodePageEncoding.cs
- DataObjectPastingEventArgs.cs
- MemberJoinTreeNode.cs
- NativeMethods.cs
- HashFinalRequest.cs
- safelinkcollection.cs
- ImageFormat.cs
- CreateParams.cs
- DataGridViewTextBoxEditingControl.cs
- unsafenativemethodsother.cs
- CacheDependency.cs
- CodeTypeReference.cs
- SHA1.cs
- xmlglyphRunInfo.cs
- ResourceDescriptionAttribute.cs
- StorageAssociationSetMapping.cs
- Privilege.cs
- FacetChecker.cs
- Funcletizer.cs
- X509Certificate.cs
- UserControl.cs
- SecurityTokenReferenceStyle.cs
- OneOfTypeConst.cs
- BreakSafeBase.cs
- ReadOnlyDataSource.cs
- XmlAttribute.cs
- CompiledIdentityConstraint.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- log.cs
- DesignSurfaceEvent.cs
- TransformationRules.cs
- ObjectToModelValueConverter.cs
- X509ChainElement.cs
- WorkflowQueueInfo.cs
- WebRequestModuleElement.cs
- TableAdapterManagerHelper.cs
- ReachSerializerAsync.cs
- PropertyGeneratedEventArgs.cs
- UInt32Storage.cs
- MenuItem.cs
- HtmlInputSubmit.cs
- ReferenceSchema.cs
- InfoCardTrace.cs
- HttpProtocolImporter.cs
- BrowserCapabilitiesFactoryBase.cs
- TableLayoutPanelResizeGlyph.cs
- PersonalizationEntry.cs
- EntityContainer.cs
- DataControlFieldCell.cs
- DataSourceNameHandler.cs
- DesignerListAdapter.cs
- ContentValidator.cs
- QueryStringParameter.cs
- DbParameterCollectionHelper.cs
- DeferredReference.cs
- NameSpaceEvent.cs
- CreateUserWizardStep.cs
- XmlUtilWriter.cs
- ObjectListFieldCollection.cs
- DbDeleteCommandTree.cs
- ApplicationCommands.cs
- ResourceDescriptionAttribute.cs
- AttributeCollection.cs
- EncoderBestFitFallback.cs
- OleDbStruct.cs
- HttpVersion.cs
- StringConcat.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- HitTestWithPointDrawingContextWalker.cs
- ClickablePoint.cs
- Simplifier.cs
- CodeAttributeDeclaration.cs
- CalendarBlackoutDatesCollection.cs
- GuidTagList.cs
- UIInitializationException.cs
- SecurityValidationBehavior.cs
- TemplateControlParser.cs
- DrawingCollection.cs
- ActivityStateQuery.cs
- SchemaImporter.cs
- ToolstripProfessionalRenderer.cs
- UserControl.cs
- CaseStatement.cs
- ItemsChangedEventArgs.cs
- GeneralTransform.cs
- ServiceDiscoveryElement.cs
- DataGridTextColumn.cs
- SqlTypesSchemaImporter.cs
- XmlNodeWriter.cs
- TypeDescriptionProviderAttribute.cs
- AnnotationResourceChangedEventArgs.cs
- ConfigurationManagerInternalFactory.cs
- SplineQuaternionKeyFrame.cs
- DateBoldEvent.cs
- HtmlTernaryTree.cs
- CryptoConfig.cs
- RSACryptoServiceProvider.cs
- BypassElementCollection.cs
- Vector3DAnimationBase.cs