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
- ButtonColumn.cs
- ServiceOperationHelpers.cs
- DataSourceSelectArguments.cs
- GeneralTransform3DGroup.cs
- EntityWrapperFactory.cs
- ImageInfo.cs
- WebResourceAttribute.cs
- WebPartConnectionCollection.cs
- Brush.cs
- SourceFileBuildProvider.cs
- GPStream.cs
- Duration.cs
- ConfigDefinitionUpdates.cs
- TemplatePagerField.cs
- GenericTypeParameterConverter.cs
- SQLInt32Storage.cs
- NetworkInformationPermission.cs
- ExtensionSimplifierMarkupObject.cs
- ObjectReaderCompiler.cs
- UpdatePanel.cs
- ToolboxItemCollection.cs
- _ContextAwareResult.cs
- Group.cs
- ServiceTimeoutsBehavior.cs
- ConfigurationSection.cs
- XmlAtomicValue.cs
- Roles.cs
- TableSectionStyle.cs
- SHA384Managed.cs
- SwitchAttribute.cs
- CreateUserErrorEventArgs.cs
- MethodBuilderInstantiation.cs
- DetailsViewModeEventArgs.cs
- Logging.cs
- updatecommandorderer.cs
- ProxyAttribute.cs
- OpCodes.cs
- ShaderRenderModeValidation.cs
- DrawingImage.cs
- DataGridViewCellEventArgs.cs
- TargetParameterCountException.cs
- datacache.cs
- RelatedEnd.cs
- SQLDecimalStorage.cs
- IfAction.cs
- LinqDataSourceDeleteEventArgs.cs
- HtmlTextArea.cs
- IntPtr.cs
- WebRequestModulesSection.cs
- StoreContentChangedEventArgs.cs
- SoapExtensionTypeElement.cs
- BrowserInteropHelper.cs
- PageBuildProvider.cs
- SystemColorTracker.cs
- DataKeyArray.cs
- CharacterHit.cs
- AllMembershipCondition.cs
- MasterPageBuildProvider.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- ConnectionPoint.cs
- DataRelation.cs
- WebMessageEncodingElement.cs
- Authorization.cs
- ParseElementCollection.cs
- HtmlInputSubmit.cs
- AttachedAnnotation.cs
- XmlEventCache.cs
- x509utils.cs
- EntityClassGenerator.cs
- ToolTipAutomationPeer.cs
- BaseTemplateBuildProvider.cs
- DetailsViewPagerRow.cs
- SharedDp.cs
- QilInvokeLateBound.cs
- ParameterModifier.cs
- SoapInteropTypes.cs
- BaseParagraph.cs
- CalculatedColumn.cs
- TraceRecord.cs
- XpsFilter.cs
- GridViewPageEventArgs.cs
- Stackframe.cs
- FormsIdentity.cs
- CaseCqlBlock.cs
- WmlSelectionListAdapter.cs
- DataGridViewCellStateChangedEventArgs.cs
- UTF7Encoding.cs
- Effect.cs
- SortedDictionary.cs
- DataGridColumn.cs
- GridViewDeleteEventArgs.cs
- CodeTypeMember.cs
- safelinkcollection.cs
- BaseDataBoundControl.cs
- DataGridViewColumn.cs
- ClientEventManager.cs
- formatter.cs
- DataMemberAttribute.cs
- DependencyProperty.cs
- PropertyGridView.cs