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
- FlowLayout.cs
- SerializerWriterEventHandlers.cs
- TableItemProviderWrapper.cs
- SQLByteStorage.cs
- WindowsTreeView.cs
- VectorCollection.cs
- CustomErrorCollection.cs
- PrimitiveCodeDomSerializer.cs
- SendMailErrorEventArgs.cs
- CodeExpressionCollection.cs
- KeyValueSerializer.cs
- Misc.cs
- GeneralTransform3DGroup.cs
- Int32KeyFrameCollection.cs
- Dispatcher.cs
- ProcessHostMapPath.cs
- DrawingVisual.cs
- CounterSet.cs
- InstanceStore.cs
- ExcCanonicalXml.cs
- FileDialogCustomPlace.cs
- BeginEvent.cs
- MtomMessageEncoder.cs
- SingleTagSectionHandler.cs
- SortedDictionary.cs
- XmlElementCollection.cs
- ProcessStartInfo.cs
- _Semaphore.cs
- CaseInsensitiveHashCodeProvider.cs
- PropertyManager.cs
- TableCell.cs
- ZipIOBlockManager.cs
- PerformanceCounterManager.cs
- CharAnimationUsingKeyFrames.cs
- WorkerRequest.cs
- SafeArrayTypeMismatchException.cs
- DisposableCollectionWrapper.cs
- List.cs
- URLMembershipCondition.cs
- WsatServiceAddress.cs
- DebuggerAttributes.cs
- BindingMAnagerBase.cs
- KeySpline.cs
- NativeMethods.cs
- SiteMap.cs
- ToolStripEditorManager.cs
- UIElementPropertyUndoUnit.cs
- ParserOptions.cs
- SqlBinder.cs
- UrlMapping.cs
- XmlConverter.cs
- Maps.cs
- SessionParameter.cs
- EntityUtil.cs
- ISAPIRuntime.cs
- ClassHandlersStore.cs
- RadialGradientBrush.cs
- LineBreak.cs
- TargetPerspective.cs
- DbXmlEnabledProviderManifest.cs
- ComplexLine.cs
- XslAstAnalyzer.cs
- FormsAuthenticationTicket.cs
- BitmapMetadataBlob.cs
- AuthenticationManager.cs
- ActiveDocumentEvent.cs
- XmlFormatReaderGenerator.cs
- AppDomainFactory.cs
- ConfigurationPropertyAttribute.cs
- RowsCopiedEventArgs.cs
- AuthenticatingEventArgs.cs
- GenericUI.cs
- ValidateNames.cs
- ToolboxDataAttribute.cs
- hwndwrapper.cs
- DSACryptoServiceProvider.cs
- ObfuscateAssemblyAttribute.cs
- ProfileManager.cs
- XmlCharType.cs
- CatalogZoneAutoFormat.cs
- RootProfilePropertySettingsCollection.cs
- EncryptedHeader.cs
- DateRangeEvent.cs
- FamilyTypefaceCollection.cs
- SystemIPv6InterfaceProperties.cs
- DbConnectionInternal.cs
- DataGridViewColumnHeaderCell.cs
- InkCanvasSelection.cs
- DebugHandleTracker.cs
- WeakRefEnumerator.cs
- CollectionDataContractAttribute.cs
- DataTableMappingCollection.cs
- InfoCardArgumentException.cs
- EventLogHandle.cs
- SpeakCompletedEventArgs.cs
- TextPenaltyModule.cs
- DataGridViewSelectedColumnCollection.cs
- SatelliteContractVersionAttribute.cs
- PartBasedPackageProperties.cs
- _UncName.cs