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
- DetailsViewPageEventArgs.cs
- Soap.cs
- MsmqInputChannelListener.cs
- CookielessHelper.cs
- EqualityComparer.cs
- EventLogPermissionAttribute.cs
- EncodingInfo.cs
- UniformGrid.cs
- DictionaryEntry.cs
- RawAppCommandInputReport.cs
- ValidationErrorCollection.cs
- EventLogEntryCollection.cs
- LoginName.cs
- CollaborationHelperFunctions.cs
- StreamResourceInfo.cs
- TdsParserHelperClasses.cs
- PeerFlooder.cs
- BidOverLoads.cs
- Pool.cs
- WebDisplayNameAttribute.cs
- DataServiceProviderMethods.cs
- SafeRightsManagementSessionHandle.cs
- EventData.cs
- ImageMapEventArgs.cs
- ZipIORawDataFileBlock.cs
- XamlInt32CollectionSerializer.cs
- ConsoleEntryPoint.cs
- CommandID.cs
- PersonalizationEntry.cs
- WebPartVerbCollection.cs
- UnSafeCharBuffer.cs
- CatalogPart.cs
- DataGridItemCollection.cs
- RegisteredArrayDeclaration.cs
- EpmAttributeNameBuilder.cs
- DeferredTextReference.cs
- DataServiceProviderMethods.cs
- ComponentConverter.cs
- GridToolTip.cs
- ReliabilityContractAttribute.cs
- MarkupExtensionParser.cs
- TileModeValidation.cs
- Attachment.cs
- NotifyCollectionChangedEventArgs.cs
- CryptoConfig.cs
- CFStream.cs
- ConsumerConnectionPoint.cs
- MulticastDelegate.cs
- PlainXmlDeserializer.cs
- MouseGesture.cs
- SAPIEngineTypes.cs
- Hyperlink.cs
- TokenizerHelper.cs
- Listen.cs
- HtmlLink.cs
- WindowsButton.cs
- RNGCryptoServiceProvider.cs
- NodeFunctions.cs
- MouseButton.cs
- TextParaLineResult.cs
- CodeMemberEvent.cs
- TextDecorationCollection.cs
- sqlstateclientmanager.cs
- InstanceNotReadyException.cs
- SmiEventSink_DeferedProcessing.cs
- XslTransform.cs
- ParameterInfo.cs
- AbsoluteQuery.cs
- MexTcpBindingElement.cs
- PropertyRecord.cs
- RangeContentEnumerator.cs
- Site.cs
- SafeNativeMethods.cs
- ProfileProvider.cs
- SqlBulkCopyColumnMapping.cs
- UserControl.cs
- WindowsEditBoxRange.cs
- SelectionItemProviderWrapper.cs
- ResizeGrip.cs
- TdsParserSessionPool.cs
- SystemEvents.cs
- LineSegment.cs
- BackStopAuthenticationModule.cs
- DataGridViewCellStyleConverter.cs
- SQLBytes.cs
- ClientUrlResolverWrapper.cs
- SecurityResources.cs
- SafeFileMapViewHandle.cs
- SiteOfOriginContainer.cs
- LayoutUtils.cs
- ExtentCqlBlock.cs
- ApplicationDirectory.cs
- CharAnimationUsingKeyFrames.cs
- MemoryStream.cs
- Module.cs
- DescendantQuery.cs
- COMException.cs
- SiteMapNodeCollection.cs
- ReadWriteObjectLock.cs
- ErrorFormatterPage.cs