Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / Or.cs / 1305376 / Or.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Expressions { using System.Activities; using System.Activities.Validation; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Linq.Expressions; using System.Runtime; [SuppressMessage(FxCop.Category.Naming, FxCop.Rule.IdentifiersShouldNotMatchKeywords, Justification = "Optimizing for XAML naming. VB imperative users will [] qualify (e.g. New [Or])")] public sealed class Or: CodeActivity { //Lock is not needed for operationFunction here. The reason is that delegates for a given Or are the same. //It's possible that 2 threads are assigning the operationFucntion at the same time. But it's okay because the compiled codes are the same. static Func operationFunction; [RequiredArgument] [DefaultValue(null)] public InArgument Left { get; set; } [RequiredArgument] [DefaultValue(null)] public InArgument Right { get; set; } protected override void CacheMetadata(CodeActivityMetadata metadata) { BinaryExpressionHelper.OnGetArguments(metadata, this.Left, this.Right); if (operationFunction == null) { ValidationError validationError; if (!BinaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.Or, out operationFunction, out validationError)) { metadata.AddValidationError(validationError); } } } protected override TResult Execute(CodeActivityContext context) { Fx.Assert(operationFunction != null, "OperationFunction must exist."); TLeft leftValue = this.Left.Get(context); TRight rightValue = this.Right.Get(context); return operationFunction(leftValue, rightValue); } } } // 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
- GradientStop.cs
- DesignerActionPanel.cs
- Int32Collection.cs
- EdmPropertyAttribute.cs
- ToolStripSettings.cs
- SspiNegotiationTokenAuthenticator.cs
- WebReferencesBuildProvider.cs
- FocusManager.cs
- TypefaceCollection.cs
- AddInIpcChannel.cs
- Stack.cs
- HeaderedItemsControl.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- XmlExceptionHelper.cs
- RtfNavigator.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- BypassElementCollection.cs
- TabPage.cs
- PrePostDescendentsWalker.cs
- Update.cs
- Part.cs
- RequestCachePolicy.cs
- ColumnClickEvent.cs
- ShaderEffect.cs
- HijriCalendar.cs
- Wildcard.cs
- Operators.cs
- CompressionTransform.cs
- DataGridViewCellMouseEventArgs.cs
- Brush.cs
- RoutingUtilities.cs
- EventSetter.cs
- ColumnMapVisitor.cs
- TextTreeTextElementNode.cs
- DataServiceQueryException.cs
- DecimalKeyFrameCollection.cs
- CollectionViewSource.cs
- FixedPageStructure.cs
- ExpressionBinding.cs
- Matrix.cs
- SiteOfOriginContainer.cs
- AppSettingsReader.cs
- MenuTracker.cs
- SelfIssuedAuthRSAPKCS1SignatureDeformatter.cs
- RelationshipConstraintValidator.cs
- WsatExtendedInformation.cs
- XamlInt32CollectionSerializer.cs
- ActivityAction.cs
- DesignerSerializerAttribute.cs
- DynamicPropertyReader.cs
- AsyncContentLoadedEventArgs.cs
- SnapLine.cs
- RedirectionProxy.cs
- SafeCertificateContext.cs
- AuthorizationRule.cs
- IpcManager.cs
- QilScopedVisitor.cs
- CompositeClientFormatter.cs
- ConfigViewGenerator.cs
- BamlReader.cs
- ProfileSection.cs
- ScriptingSectionGroup.cs
- WindowsButton.cs
- FtpWebRequest.cs
- Thread.cs
- PagerSettings.cs
- ItemsChangedEventArgs.cs
- DataGridViewRowPostPaintEventArgs.cs
- KeyEvent.cs
- ADMembershipProvider.cs
- NetSectionGroup.cs
- ListView.cs
- EditorZoneBase.cs
- LingerOption.cs
- Control.cs
- XamlPoint3DCollectionSerializer.cs
- Base64Encoder.cs
- WeakHashtable.cs
- TypeHelper.cs
- ToolStripComboBox.cs
- DefaultSerializationProviderAttribute.cs
- XamlSerializerUtil.cs
- SerializationObjectManager.cs
- Scalars.cs
- InlineObject.cs
- ClientSettingsSection.cs
- QilGenerator.cs
- FormViewDeleteEventArgs.cs
- EUCJPEncoding.cs
- EDesignUtil.cs
- BindingExpressionBase.cs
- ProgressBar.cs
- XmlSchemaSimpleContentRestriction.cs
- SQLInt16Storage.cs
- InstanceLockException.cs
- SchemaSetCompiler.cs
- PagePropertiesChangingEventArgs.cs
- SqlInternalConnectionTds.cs
- DropDownList.cs
- BaseEntityWrapper.cs