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
- X500Name.cs
- DataSvcMapFileSerializer.cs
- DataServiceCollectionOfT.cs
- FormViewModeEventArgs.cs
- ReflectionServiceProvider.cs
- PrimarySelectionGlyph.cs
- ToolStripSeparator.cs
- SerializationStore.cs
- PrintPreviewControl.cs
- RealProxy.cs
- WebServiceMethodData.cs
- MonthCalendarDesigner.cs
- SerializerProvider.cs
- JoinGraph.cs
- VoiceInfo.cs
- CultureTable.cs
- TrueReadOnlyCollection.cs
- DataContractSerializerOperationGenerator.cs
- VoiceChangeEventArgs.cs
- DataGridState.cs
- CellNormalizer.cs
- FileUpload.cs
- TrackingDataItem.cs
- BufferedGraphics.cs
- Trigger.cs
- DSASignatureFormatter.cs
- CodeStatementCollection.cs
- TargetParameterCountException.cs
- DataGridViewRowStateChangedEventArgs.cs
- ColorTransform.cs
- ToolStripLabel.cs
- LinkConverter.cs
- ObjectListFieldCollection.cs
- ServerTooBusyException.cs
- LogWriteRestartAreaState.cs
- ArgIterator.cs
- RuleSettings.cs
- GridViewRowEventArgs.cs
- ExpressionLink.cs
- XmlSchemaSimpleContentExtension.cs
- SoapCodeExporter.cs
- FormViewUpdateEventArgs.cs
- Site.cs
- Token.cs
- Utils.cs
- DataGridPagingPage.cs
- _SslStream.cs
- ButtonChrome.cs
- QueryAccessibilityHelpEvent.cs
- ButtonBaseDesigner.cs
- UrlMappingCollection.cs
- DefaultEvaluationContext.cs
- Parallel.cs
- PopupEventArgs.cs
- PropertyItemInternal.cs
- StatusBarPanelClickEvent.cs
- TCPClient.cs
- ForeignKeyConstraint.cs
- Models.cs
- XPathScanner.cs
- Clipboard.cs
- Model3DGroup.cs
- Serializer.cs
- TracedNativeMethods.cs
- DocumentSchemaValidator.cs
- X509CertificateCollection.cs
- WindowsFormsSynchronizationContext.cs
- ZipIOExtraFieldZip64Element.cs
- SrgsSemanticInterpretationTag.cs
- RuntimeArgumentHandle.cs
- DebugHandleTracker.cs
- SafeProcessHandle.cs
- PageClientProxyGenerator.cs
- DesignerTransaction.cs
- EndOfStreamException.cs
- ServiceParser.cs
- Path.cs
- BindStream.cs
- LeaseManager.cs
- WriterOutput.cs
- AllMembershipCondition.cs
- TrackingWorkflowEventArgs.cs
- TransformPatternIdentifiers.cs
- TextBoxView.cs
- querybuilder.cs
- ListItemConverter.cs
- Keywords.cs
- MarkupProperty.cs
- WebPartDescriptionCollection.cs
- AttributeCallbackBuilder.cs
- ResourceCategoryAttribute.cs
- CountdownEvent.cs
- TextDecoration.cs
- CellParagraph.cs
- ReadOnlyCollection.cs
- FlowDocumentReader.cs
- GridViewSelectEventArgs.cs
- QilList.cs
- EntityReference.cs
- ConfigurationStrings.cs