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
- Grid.cs
- AddingNewEventArgs.cs
- SelectionItemPattern.cs
- MainMenu.cs
- ExeConfigurationFileMap.cs
- ArgumentNullException.cs
- MaskedTextBoxTextEditorDropDown.cs
- UpdateRecord.cs
- CookieProtection.cs
- WebPartEditorCancelVerb.cs
- PerspectiveCamera.cs
- WindowInteropHelper.cs
- RegexStringValidatorAttribute.cs
- LambdaCompiler.Statements.cs
- Graph.cs
- AlphabetConverter.cs
- TypeUtils.cs
- Padding.cs
- HtmlMeta.cs
- SystemPens.cs
- DoWorkEventArgs.cs
- IdentitySection.cs
- TaskExtensions.cs
- DoubleKeyFrameCollection.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- BuildResult.cs
- NavigationService.cs
- UInt16.cs
- WinEventHandler.cs
- QueryProcessor.cs
- StandardToolWindows.cs
- TTSEngineProxy.cs
- DecoderFallbackWithFailureFlag.cs
- EventLogPermissionAttribute.cs
- HtmlElementCollection.cs
- CurrencyManager.cs
- MouseGesture.cs
- WindowsListViewItemCheckBox.cs
- _ContextAwareResult.cs
- ComponentCollection.cs
- Logging.cs
- BitmapEffect.cs
- ZipIOLocalFileDataDescriptor.cs
- SafeLocalMemHandle.cs
- _CommandStream.cs
- BinaryFormatterWriter.cs
- XmlSchemaObjectCollection.cs
- Light.cs
- KeyedCollection.cs
- Rotation3DAnimationBase.cs
- Timer.cs
- KeyValueSerializer.cs
- CodeEntryPointMethod.cs
- StoragePropertyMapping.cs
- LocalizableAttribute.cs
- EnumMemberAttribute.cs
- XsltInput.cs
- MobileRedirect.cs
- EnumValAlphaComparer.cs
- WebPartCatalogAddVerb.cs
- AnnotationHighlightLayer.cs
- ArcSegment.cs
- Function.cs
- RegexCompilationInfo.cs
- TdsValueSetter.cs
- PersonalizationProviderHelper.cs
- GridViewRow.cs
- AppDomainProtocolHandler.cs
- SByteConverter.cs
- DesignTimeSiteMapProvider.cs
- OutOfMemoryException.cs
- FunctionImportElement.cs
- MessageFault.cs
- MaxValueConverter.cs
- DesignerLinkAdapter.cs
- GridViewItemAutomationPeer.cs
- DataServiceOperationContext.cs
- QilName.cs
- LocationReferenceEnvironment.cs
- ExtenderProvidedPropertyAttribute.cs
- WebServiceData.cs
- ModuleElement.cs
- BasicHttpSecurityMode.cs
- FileSystemWatcher.cs
- DataGridViewColumn.cs
- XmlAttributeOverrides.cs
- AddressUtility.cs
- SingleConverter.cs
- SelectManyQueryOperator.cs
- ECDiffieHellmanCngPublicKey.cs
- OleDbFactory.cs
- AnnotationDocumentPaginator.cs
- AggregateNode.cs
- Serializer.cs
- DictionaryManager.cs
- Exception.cs
- AsymmetricSignatureFormatter.cs
- EncodingInfo.cs
- Geometry3D.cs
- XmlDeclaration.cs