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
- MailDefinition.cs
- dataSvcMapFileLoader.cs
- TypeUnloadedException.cs
- SqlConnectionPoolProviderInfo.cs
- UnsafeNativeMethods.cs
- EncoderNLS.cs
- Walker.cs
- ImageListStreamer.cs
- StoreAnnotationsMap.cs
- CodeDOMProvider.cs
- CollectionBase.cs
- ExtensionQuery.cs
- Transform3DCollection.cs
- HttpChannelBindingToken.cs
- MappingException.cs
- XmlCharacterData.cs
- UnderstoodHeaders.cs
- HMACSHA1.cs
- SByte.cs
- ApplicationFileCodeDomTreeGenerator.cs
- recordstatescratchpad.cs
- WmlListAdapter.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- BinaryNode.cs
- ProtocolViolationException.cs
- OdbcDataAdapter.cs
- ViewValidator.cs
- ControlCachePolicy.cs
- LiteralLink.cs
- XmlMtomWriter.cs
- DisableDpiAwarenessAttribute.cs
- UnitySerializationHolder.cs
- BindingCollection.cs
- BrowsableAttribute.cs
- ReflectionUtil.cs
- BuildProvider.cs
- OrderingInfo.cs
- ConfigurationSectionCollection.cs
- ControlBuilderAttribute.cs
- StatusBarItem.cs
- ToolboxItemAttribute.cs
- Pipe.cs
- PaintEvent.cs
- ThreadAbortException.cs
- TextDecorationCollectionConverter.cs
- IDictionary.cs
- ClientData.cs
- DbConnectionPoolGroupProviderInfo.cs
- ConvertTextFrag.cs
- UpdateDelegates.Generated.cs
- ButtonRenderer.cs
- Hyperlink.cs
- WebPartMenuStyle.cs
- DBAsyncResult.cs
- WhiteSpaceTrimStringConverter.cs
- DataServices.cs
- VersionedStreamOwner.cs
- AffineTransform3D.cs
- AppDomainFactory.cs
- RangeValueProviderWrapper.cs
- ServiceObjectContainer.cs
- SmtpTransport.cs
- UpdateProgress.cs
- JapaneseCalendar.cs
- Preprocessor.cs
- FullTrustAssembliesSection.cs
- DataObjectSettingDataEventArgs.cs
- DesignerDataView.cs
- KeyedPriorityQueue.cs
- OdbcConnection.cs
- UrlAuthFailedErrorFormatter.cs
- ValidatingReaderNodeData.cs
- GeneralTransform3DGroup.cs
- CalendarDay.cs
- FactoryMaker.cs
- ProcessHostServerConfig.cs
- PasswordBox.cs
- PropertyToken.cs
- CachedTypeface.cs
- PointHitTestResult.cs
- CodeIdentifiers.cs
- TokenFactoryFactory.cs
- ConfigurationLocation.cs
- rsa.cs
- TrailingSpaceComparer.cs
- PropertyGridCommands.cs
- HatchBrush.cs
- ClrProviderManifest.cs
- GridViewRow.cs
- dbenumerator.cs
- AnnotationAdorner.cs
- BaseValidator.cs
- XmlSchemaInclude.cs
- BCLDebug.cs
- MatrixTransform3D.cs
- Vector3DConverter.cs
- Attributes.cs
- CreateUserWizard.cs
- PEFileReader.cs
- PropertyIdentifier.cs