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
- LoginCancelEventArgs.cs
- MonthChangedEventArgs.cs
- AxisAngleRotation3D.cs
- MouseEvent.cs
- AssemblyBuilderData.cs
- HeaderCollection.cs
- DataGridViewTextBoxEditingControl.cs
- TextEditorCharacters.cs
- Thread.cs
- ScrollProviderWrapper.cs
- HandlerBase.cs
- ContentDisposition.cs
- PictureBoxDesigner.cs
- ChineseLunisolarCalendar.cs
- UnionCqlBlock.cs
- PropertyDescriptor.cs
- StylusPointPropertyUnit.cs
- TdsParserStateObject.cs
- XmlLanguage.cs
- WorkflowControlEndpoint.cs
- Span.cs
- XPathSelectionIterator.cs
- XmlReader.cs
- RelationshipConstraintValidator.cs
- BamlLocalizationDictionary.cs
- PolyQuadraticBezierSegment.cs
- NetworkInterface.cs
- XmlCodeExporter.cs
- WbmpConverter.cs
- ExcCanonicalXml.cs
- altserialization.cs
- SafeSystemMetrics.cs
- mongolianshape.cs
- HandleCollector.cs
- AutoResetEvent.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- RowsCopiedEventArgs.cs
- DataBindingExpressionBuilder.cs
- ParameterDataSourceExpression.cs
- Char.cs
- PropertyFilter.cs
- XmlSerializerSection.cs
- EntityDataSourceUtil.cs
- ControlBindingsCollection.cs
- WebFormsRootDesigner.cs
- ISO2022Encoding.cs
- RawMouseInputReport.cs
- CustomCategoryAttribute.cs
- XmlReflectionImporter.cs
- CultureInfoConverter.cs
- ExecutionEngineException.cs
- DataService.cs
- Operator.cs
- odbcmetadatafactory.cs
- Base64Decoder.cs
- NonceToken.cs
- FormsIdentity.cs
- Assembly.cs
- FieldMetadata.cs
- EnumDataContract.cs
- DetailsViewInsertedEventArgs.cs
- sqlstateclientmanager.cs
- DataTableNewRowEvent.cs
- HttpServerVarsCollection.cs
- MatchNoneMessageFilter.cs
- ConfigsHelper.cs
- COM2ColorConverter.cs
- ConfigXmlAttribute.cs
- SafeFreeMibTable.cs
- RawStylusInputCustomDataList.cs
- KnownBoxes.cs
- WorkflowInstanceProvider.cs
- UITypeEditor.cs
- HtmlUtf8RawTextWriter.cs
- Knowncolors.cs
- URLIdentityPermission.cs
- StylusPlugin.cs
- WindowVisualStateTracker.cs
- PasswordTextContainer.cs
- XslNumber.cs
- ExceptionTranslationTable.cs
- SecurityState.cs
- VirtualPath.cs
- ReflectionPermission.cs
- ChannelBuilder.cs
- ApplicationInfo.cs
- Exceptions.cs
- ExplicitDiscriminatorMap.cs
- OdbcConnectionOpen.cs
- EmbeddedObject.cs
- Certificate.cs
- HierarchicalDataTemplate.cs
- ThrowHelper.cs
- ProjectionRewriter.cs
- PtsHost.cs
- RawStylusActions.cs
- EnumConverter.cs
- RtfToken.cs
- EnumerableRowCollectionExtensions.cs
- BasicBrowserDialog.designer.cs