Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Statements / If.cs / 1305376 / If.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Statements { using System.Activities; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Linq.Expressions; using System.Runtime; using System.Windows.Markup; [SuppressMessage(FxCop.Category.Naming, FxCop.Rule.IdentifiersShouldNotMatchKeywords, Justification = "Optimizing for XAML naming. VB imperative users will [] qualify (e.g. New [If])")] public sealed class If : NativeActivity { public If() : base() { } public If(Expression> condition) : this() { if (condition == null) { throw FxTrace.Exception.ArgumentNull("condition"); } this.Condition = new InArgument (condition); } public If(Activity condition) : this() { if (condition == null) { throw FxTrace.Exception.ArgumentNull("condition"); } this.Condition = new InArgument (condition); } public If(InArgument condition) : this() { if (condition == null) { throw FxTrace.Exception.ArgumentNull("condition"); } this.Condition = condition; } [RequiredArgument] [DefaultValue(null)] public InArgument Condition { get; set; } [DefaultValue(null)] [DependsOn("Condition")] public Activity Then { get; set; } [DefaultValue(null)] [DependsOn("Then")] public Activity Else { get; set; } protected override void Execute(NativeActivityContext context) { if (Condition.Get(context)) { if (Then != null) { context.ScheduleActivity(Then); } } else if (Else != null) { context.ScheduleActivity(Else); } } protected override void CacheMetadata(NativeActivityMetadata metadata) { RuntimeArgument conditionArgument = new RuntimeArgument("Condition", typeof(bool), ArgumentDirection.In, true); metadata.Bind(this.Condition, conditionArgument); metadata.SetArgumentsCollection(new Collection { conditionArgument }); Collection children = null; if (this.Then != null) { ActivityUtilities.Add(ref children, this.Then); } if (this.Else != null) { ActivityUtilities.Add(ref children, this.Else); } metadata.SetChildrenCollection(children); } } } // 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
- ObjectViewEntityCollectionData.cs
- XpsSerializationManagerAsync.cs
- ModulesEntry.cs
- X509CertificateInitiatorServiceCredential.cs
- RSACryptoServiceProvider.cs
- XsltSettings.cs
- MappingItemCollection.cs
- DependencyObject.cs
- Win32KeyboardDevice.cs
- BatchParser.cs
- CodeTypeMember.cs
- AstTree.cs
- GeometryModel3D.cs
- ContextInformation.cs
- DeviceContexts.cs
- SqlXml.cs
- TreeViewItemAutomationPeer.cs
- StreamWithDictionary.cs
- RangeValidator.cs
- TypeBuilderInstantiation.cs
- ValuePattern.cs
- BrowserCapabilitiesFactory.cs
- GACMembershipCondition.cs
- ValueHandle.cs
- InheritanceService.cs
- EventLogReader.cs
- TypeDescriptionProvider.cs
- ParameterToken.cs
- WhitespaceRuleReader.cs
- DialogDivider.cs
- EnumerableCollectionView.cs
- DesignParameter.cs
- TextWriterTraceListener.cs
- ComponentResourceKey.cs
- OleDbSchemaGuid.cs
- RuntimeEnvironment.cs
- MenuEventArgs.cs
- SchemaImporterExtensionElementCollection.cs
- compensatingcollection.cs
- Triangle.cs
- IInstanceTable.cs
- QilReference.cs
- FixedTextBuilder.cs
- DataSourceSelectArguments.cs
- _SslState.cs
- DoWorkEventArgs.cs
- ImmComposition.cs
- SByte.cs
- RewritingProcessor.cs
- OutputCacheProfile.cs
- BamlTreeUpdater.cs
- PreviewControlDesigner.cs
- CustomErrorsSectionWrapper.cs
- PagedDataSource.cs
- KeyValueConfigurationCollection.cs
- ReferenceConverter.cs
- SplashScreenNativeMethods.cs
- ImmutableObjectAttribute.cs
- Metafile.cs
- XmlNavigatorFilter.cs
- MetadataItem.cs
- String.cs
- XPathDocumentBuilder.cs
- ViewStateModeByIdAttribute.cs
- CodeTypeDeclarationCollection.cs
- ObservableCollectionDefaultValueFactory.cs
- RtfFormatStack.cs
- RenderingEventArgs.cs
- RadioButton.cs
- DefaultValueTypeConverter.cs
- PermissionSetEnumerator.cs
- XdrBuilder.cs
- IndicFontClient.cs
- XmlIgnoreAttribute.cs
- ProtocolsConfigurationEntry.cs
- CodeEntryPointMethod.cs
- Utils.cs
- Enlistment.cs
- GenericWebPart.cs
- WebBaseEventKeyComparer.cs
- DesignerForm.cs
- TemplateComponentConnector.cs
- CultureInfo.cs
- CheckBoxRenderer.cs
- UnsafeNativeMethods.cs
- ConfigurationValue.cs
- FieldNameLookup.cs
- TypeExtensions.cs
- DesignColumnCollection.cs
- TableParagraph.cs
- BaseWebProxyFinder.cs
- _LocalDataStore.cs
- LazyInitializer.cs
- Crc32.cs
- EdmItemError.cs
- ObjectListTitleAttribute.cs
- AttributeProviderAttribute.cs
- SizeValueSerializer.cs
- ScopelessEnumAttribute.cs
- Parser.cs