Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / LessThan.cs / 1305376 / LessThan.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Expressions { using System.Activities; using System.Activities.Statements; using System.Linq.Expressions; using System.Activities.Validation; using System.Collections.Generic; using System.ComponentModel; using System.Runtime; public sealed class LessThan: CodeActivity { //Lock is not needed for operationFunction here. The reason is that delegates for a given LessThan 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.LessThan, 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
- DrawingVisualDrawingContext.cs
- ContentPlaceHolder.cs
- EqualityArray.cs
- AnnotationDocumentPaginator.cs
- CompilerWrapper.cs
- DynamicILGenerator.cs
- FontStyleConverter.cs
- Compensate.cs
- Identity.cs
- ListControlBoundActionList.cs
- SerializationException.cs
- SystemParameters.cs
- ToolstripProfessionalRenderer.cs
- DecoderBestFitFallback.cs
- SqlVisitor.cs
- ToolboxItemAttribute.cs
- ServiceSecurityAuditElement.cs
- SectionUpdates.cs
- ConstructorNeedsTagAttribute.cs
- DayRenderEvent.cs
- CancellationHandlerDesigner.cs
- ComponentCache.cs
- HtmlProps.cs
- RenamedEventArgs.cs
- FileDataSourceCache.cs
- DataControlField.cs
- SmtpException.cs
- DocumentSequence.cs
- HtmlTitle.cs
- ToolStripItem.cs
- DataServiceExpressionVisitor.cs
- LineBreak.cs
- SharedTcpTransportManager.cs
- DeclarativeCatalogPart.cs
- ProcessInfo.cs
- RtfToken.cs
- SiteMapProvider.cs
- TableCellAutomationPeer.cs
- HotSpot.cs
- FormatConvertedBitmap.cs
- Propagator.JoinPropagator.cs
- MemoryMappedViewAccessor.cs
- ExtendedPropertyInfo.cs
- ChangePassword.cs
- CompilationLock.cs
- SelectionRangeConverter.cs
- CapabilitiesSection.cs
- TreeViewItemAutomationPeer.cs
- _DomainName.cs
- WpfSharedXamlSchemaContext.cs
- EntityType.cs
- FormViewActionList.cs
- DesignerDataTableBase.cs
- ConsoleCancelEventArgs.cs
- LockRecursionException.cs
- CryptoApi.cs
- WebServiceHandlerFactory.cs
- DebugHandleTracker.cs
- EventSetter.cs
- OleTxTransactionInfo.cs
- KnownColorTable.cs
- CollectionViewSource.cs
- Hex.cs
- WebPartTransformerAttribute.cs
- MetaChildrenColumn.cs
- TextServicesCompartment.cs
- SpecularMaterial.cs
- FileDetails.cs
- BamlResourceSerializer.cs
- _LoggingObject.cs
- MatrixTransform3D.cs
- DropShadowBitmapEffect.cs
- GridViewDeletedEventArgs.cs
- XmlDataSource.cs
- ListBox.cs
- RouteTable.cs
- GeneralTransform3DTo2D.cs
- EventNotify.cs
- StatusBarPanel.cs
- ScrollChrome.cs
- ResourceSet.cs
- XPathNodeList.cs
- ColumnTypeConverter.cs
- DataServiceRequestException.cs
- FactoryGenerator.cs
- JobInputBins.cs
- HttpRequestBase.cs
- TableItemStyle.cs
- Label.cs
- ArithmeticException.cs
- WizardStepBase.cs
- SwitchElementsCollection.cs
- filewebrequest.cs
- LayoutEditorPart.cs
- SystemGatewayIPAddressInformation.cs
- GridErrorDlg.cs
- GridItemPatternIdentifiers.cs
- PolyLineSegment.cs
- SizeChangedEventArgs.cs
- BezierSegment.cs