Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Statements / FlowSwitch.cs / 1305376 / FlowSwitch.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Statements { using System.Activities; using System.Collections.Generic; using System.ComponentModel; using System.Runtime; using System.Windows.Markup; [ContentProperty("Cases")] public sealed class FlowSwitch: FlowNode, IFlowSwitch { internal IDictionary cases; CompletionCallback onSwitchCompleted; public FlowSwitch() { this.cases = new CasesDictionary (); } [DefaultValue(null)] public Activity Expression { get; set; } [DefaultValue(null)] public FlowNode Default { get; set; } [Fx.Tag.KnownXamlExternal] public IDictionary Cases { get { return this.cases; } } internal override void OnOpen(Flowchart owner, NativeActivityMetadata metadata) { if (this.Expression == null) { metadata.AddValidationError(SR.FlowSwitchRequiresExpression(owner.DisplayName)); } } internal override void GetConnectedNodes(IList connections) { foreach (KeyValuePair item in this.Cases) { connections.Add(item.Value); } if (this.Default != null) { connections.Add(this.Default); } } internal override void GetChildActivities(ICollection children) { if (Expression != null) { children.Add(Expression); } } bool IFlowSwitch.Execute(NativeActivityContext context, Flowchart parent) { context.ScheduleActivity(Expression, this.GetSwitchCompletedCallback(parent)); return false; } FlowNode IFlowSwitch.GetNextNode(object value) { FlowNode result; T newValue = (T)value; if (Cases.TryGetValue(newValue, out result)) { if (TD.FlowchartSwitchCaseIsEnabled()) { TD.FlowchartSwitchCase(this.Owner.DisplayName, newValue.ToString()); } return result; } else { if (this.Default != null) { if (TD.FlowchartSwitchDefaultIsEnabled()) { TD.FlowchartSwitchDefault(this.Owner.DisplayName); } } else { if (TD.FlowchartSwitchCaseNotFoundIsEnabled()) { TD.FlowchartSwitchCaseNotFound(this.Owner.DisplayName); } } return this.Default; } } CompletionCallback GetSwitchCompletedCallback(Flowchart parent) { if (onSwitchCompleted == null) { onSwitchCompleted = new CompletionCallback (parent.OnSwitchCompleted ); } return onSwitchCompleted; } } } // 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
- InstancePersistenceContext.cs
- basecomparevalidator.cs
- ListViewGroupCollectionEditor.cs
- StrongNamePublicKeyBlob.cs
- SoapAttributeAttribute.cs
- Line.cs
- ResourceExpression.cs
- X509UI.cs
- CodeMethodInvokeExpression.cs
- SchemaImporter.cs
- CallTemplateAction.cs
- SqlParameterizer.cs
- HttpCookieCollection.cs
- DisplayInformation.cs
- WizardSideBarListControlItemEventArgs.cs
- GestureRecognizer.cs
- DateTimeOffsetConverter.cs
- SQLDecimal.cs
- PageCatalogPart.cs
- VirtualDirectoryMapping.cs
- XsdBuildProvider.cs
- Composition.cs
- XPathEmptyIterator.cs
- PnrpPeerResolverBindingElement.cs
- SeverityFilter.cs
- StylusCaptureWithinProperty.cs
- HebrewCalendar.cs
- invalidudtexception.cs
- TempFiles.cs
- WebServicesDescriptionAttribute.cs
- ItemCheckEvent.cs
- CodeAttributeDeclarationCollection.cs
- HttpConfigurationContext.cs
- DesignerLoader.cs
- Converter.cs
- SessionKeyExpiredException.cs
- XmlAtomicValue.cs
- hebrewshape.cs
- UserNamePasswordValidator.cs
- TypeSemantics.cs
- EditorPartCollection.cs
- DBNull.cs
- SiteMapNodeCollection.cs
- WindowsSpinner.cs
- ActivitiesCollection.cs
- CryptoKeySecurity.cs
- TypeToken.cs
- XmlILOptimizerVisitor.cs
- NetCodeGroup.cs
- UrlRoutingModule.cs
- X509SecurityToken.cs
- ApplicationTrust.cs
- ModelTreeManager.cs
- AttachedAnnotationChangedEventArgs.cs
- SqlNotificationEventArgs.cs
- AsyncContentLoadedEventArgs.cs
- TreeView.cs
- DbConnectionStringCommon.cs
- RowVisual.cs
- Crypto.cs
- PassportAuthenticationEventArgs.cs
- XhtmlMobileTextWriter.cs
- UrlEncodedParameterWriter.cs
- XmlSchemaValidator.cs
- UseAttributeSetsAction.cs
- SafeReversePInvokeHandle.cs
- WrapperSecurityCommunicationObject.cs
- TableCellCollection.cs
- BitConverter.cs
- WebBrowserBase.cs
- FindCriteriaCD1.cs
- GridSplitter.cs
- NameNode.cs
- TypeElement.cs
- SessionIDManager.cs
- DispatchChannelSink.cs
- Point4D.cs
- StateMachineAction.cs
- PanelContainerDesigner.cs
- SqlHelper.cs
- ItemsPanelTemplate.cs
- DesignTableCollection.cs
- DataControlFieldCell.cs
- DataSourceHelper.cs
- TableProviderWrapper.cs
- IsolatedStoragePermission.cs
- XmlNodeChangedEventManager.cs
- CSharpCodeProvider.cs
- EventMappingSettings.cs
- DeleteWorkflowOwnerCommand.cs
- WebServiceBindingAttribute.cs
- BitmapMetadata.cs
- SymmetricCryptoHandle.cs
- ErrorWrapper.cs
- ScriptControlDescriptor.cs
- CustomErrorsSectionWrapper.cs
- sqlmetadatafactory.cs
- NotCondition.cs
- RepeaterItem.cs
- ControlFilterExpression.cs