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
- PropertyValueUIItem.cs
- D3DImage.cs
- TargetParameterCountException.cs
- PixelShader.cs
- DataRowChangeEvent.cs
- SrgsRulesCollection.cs
- CategoryAttribute.cs
- SchemaImporterExtensionElementCollection.cs
- DesignTimeParseData.cs
- ObjectFullSpanRewriter.cs
- DocumentScope.cs
- IndicFontClient.cs
- COM2ComponentEditor.cs
- CompilationSection.cs
- GiveFeedbackEventArgs.cs
- NotCondition.cs
- coordinatorscratchpad.cs
- InheritedPropertyChangedEventArgs.cs
- PropertyConverter.cs
- NotSupportedException.cs
- ComponentManagerBroker.cs
- DynamicPropertyHolder.cs
- SessionEndingEventArgs.cs
- GridItemCollection.cs
- ECDiffieHellmanCng.cs
- BitmapCodecInfo.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- GcSettings.cs
- Rotation3D.cs
- NonVisualControlAttribute.cs
- TreeNode.cs
- QueueNameHelper.cs
- CounterSetInstance.cs
- DbConnectionHelper.cs
- DecoderFallbackWithFailureFlag.cs
- CmsUtils.cs
- FeatureManager.cs
- DataFormats.cs
- DataServices.cs
- Storyboard.cs
- AlphabeticalEnumConverter.cs
- ReferenceEqualityComparer.cs
- Setter.cs
- QueryNode.cs
- LogRecordSequence.cs
- ClientRolePrincipal.cs
- SQLMembershipProvider.cs
- SHA512.cs
- CommentEmitter.cs
- NegotiateStream.cs
- DataGridrowEditEndingEventArgs.cs
- VSWCFServiceContractGenerator.cs
- XmlAttributeOverrides.cs
- bidPrivateBase.cs
- TextWriterEngine.cs
- MetadataItem_Static.cs
- GetReadStreamResult.cs
- SqlDataSourceEnumerator.cs
- AssociationSetMetadata.cs
- HtmlWindow.cs
- PersonalizationState.cs
- Size.cs
- SspiHelper.cs
- _ListenerResponseStream.cs
- regiisutil.cs
- designeractionlistschangedeventargs.cs
- CfgParser.cs
- XmlCharacterData.cs
- PeerObject.cs
- HttpResponseBase.cs
- DependentList.cs
- ToolBar.cs
- SendSecurityHeaderElement.cs
- NoneExcludedImageIndexConverter.cs
- IndexerNameAttribute.cs
- CharacterBufferReference.cs
- HttpRawResponse.cs
- ParallelDesigner.cs
- MenuItemBinding.cs
- EnterpriseServicesHelper.cs
- cookiecontainer.cs
- ToolboxComponentsCreatedEventArgs.cs
- Collection.cs
- Pair.cs
- ExpressionBindingsDialog.cs
- GeneralTransform3DGroup.cs
- CodeAttributeDeclarationCollection.cs
- ItemCheckedEvent.cs
- PenThreadWorker.cs
- CollectionViewSource.cs
- CharUnicodeInfo.cs
- OrderedDictionary.cs
- FontSizeConverter.cs
- DbConnectionClosed.cs
- ResolveMatchesCD1.cs
- DataSourceSelectArguments.cs
- ListBoxAutomationPeer.cs
- AttributeQuery.cs
- Italic.cs
- CustomErrorsSection.cs