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
- AnonymousIdentificationModule.cs
- DeclarationUpdate.cs
- ReadOnlyKeyedCollection.cs
- AxisAngleRotation3D.cs
- BaseConfigurationRecord.cs
- ResolveNameEventArgs.cs
- MetadataException.cs
- HttpGetProtocolReflector.cs
- SafeFreeMibTable.cs
- XmlElementCollection.cs
- OdbcEnvironment.cs
- FaultConverter.cs
- PointConverter.cs
- AppSettingsExpressionBuilder.cs
- GeneralTransform2DTo3D.cs
- EntityCommandCompilationException.cs
- Command.cs
- PropertyItem.cs
- CollectionConverter.cs
- TranslateTransform.cs
- XamlWriter.cs
- DeflateEmulationStream.cs
- HttpNamespaceReservationInstallComponent.cs
- TextServicesCompartment.cs
- UnmanagedMemoryStream.cs
- AttributeData.cs
- SessionEndingCancelEventArgs.cs
- OverlappedAsyncResult.cs
- InstanceNotReadyException.cs
- DynamicRendererThreadManager.cs
- SchemaElement.cs
- WorkflowFileItem.cs
- XmlHierarchicalEnumerable.cs
- unitconverter.cs
- NativeBuffer.cs
- RegexNode.cs
- ReferenceTypeElement.cs
- EntityCollectionChangedParams.cs
- baseaxisquery.cs
- FirstMatchCodeGroup.cs
- LinearGradientBrush.cs
- MenuAdapter.cs
- BlobPersonalizationState.cs
- KeyMatchBuilder.cs
- XpsException.cs
- ExtentJoinTreeNode.cs
- AxisAngleRotation3D.cs
- FormClosingEvent.cs
- DataGridViewLinkCell.cs
- typedescriptorpermission.cs
- ImageClickEventArgs.cs
- cookieexception.cs
- MissingManifestResourceException.cs
- BamlLocalizer.cs
- OAVariantLib.cs
- Cursor.cs
- XmlObjectSerializer.cs
- Enum.cs
- MenuScrollingVisibilityConverter.cs
- PrintDialog.cs
- WorkflowInstanceProxy.cs
- ObjectTokenCategory.cs
- CachedCompositeFamily.cs
- XNodeNavigator.cs
- ColumnBinding.cs
- DeferredSelectedIndexReference.cs
- ProfileService.cs
- TemplateManager.cs
- GridPattern.cs
- EventLogTraceListener.cs
- Size3DConverter.cs
- BlobPersonalizationState.cs
- VerificationAttribute.cs
- InvalidDataContractException.cs
- SmtpFailedRecipientsException.cs
- NameTable.cs
- SqlParameterCollection.cs
- MessagingDescriptionAttribute.cs
- XmlSchemaAppInfo.cs
- XmlSerializerVersionAttribute.cs
- DocobjHost.cs
- StrokeIntersection.cs
- RunInstallerAttribute.cs
- SpellerError.cs
- SchemaDeclBase.cs
- MailSettingsSection.cs
- Compress.cs
- Size.cs
- XmlSchemaProviderAttribute.cs
- TargetInvocationException.cs
- DBCSCodePageEncoding.cs
- SourceSwitch.cs
- SharedUtils.cs
- BufferModesCollection.cs
- WorkflowDesigner.cs
- DefaultPrintController.cs
- RealProxy.cs
- DesignerTextBoxAdapter.cs
- HandlerWithFactory.cs
- Int32Converter.cs