Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / NotEqual.cs / 1305376 / NotEqual.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Expressions { using System.Activities; using System.Activities.Validation; using System.ComponentModel; using System.Linq.Expressions; using System.Runtime; public sealed class NotEqual: CodeActivity { //Lock is not needed for operationFunction here. The reason is that delegates for a given NotEqual 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.NotEqual, 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
- Win32.cs
- SkewTransform.cs
- ListViewItemSelectionChangedEvent.cs
- OracleConnectionStringBuilder.cs
- QueryResponse.cs
- ClientData.cs
- DesignBindingPropertyDescriptor.cs
- DisplayMemberTemplateSelector.cs
- PathParser.cs
- FloaterBaseParagraph.cs
- SqlClientMetaDataCollectionNames.cs
- ValidatorCollection.cs
- TextEditorCopyPaste.cs
- SystemIcons.cs
- InputLanguageCollection.cs
- DataRowCollection.cs
- MessageDirection.cs
- DrawingAttributeSerializer.cs
- PreviewPrintController.cs
- RegexCode.cs
- DocComment.cs
- MobileFormsAuthentication.cs
- GroupAggregateExpr.cs
- XmlSchemaDatatype.cs
- RadioButton.cs
- MarkupObject.cs
- PageVisual.cs
- NavigationExpr.cs
- ControlPaint.cs
- PersonalizationStateQuery.cs
- CharUnicodeInfo.cs
- WebPartConnectionCollection.cs
- DiagnosticsConfiguration.cs
- Transform.cs
- SemanticResolver.cs
- TransactionInterop.cs
- LoginCancelEventArgs.cs
- DoubleLinkList.cs
- ItemsControlAutomationPeer.cs
- Parameter.cs
- HitTestFilterBehavior.cs
- SynchronizationLockException.cs
- BinaryObjectReader.cs
- SerializerProvider.cs
- PolicyManager.cs
- IriParsingElement.cs
- DataBoundControlAdapter.cs
- PseudoWebRequest.cs
- LabelInfo.cs
- FileLogRecordEnumerator.cs
- Walker.cs
- SqlInternalConnection.cs
- CharAnimationBase.cs
- IconConverter.cs
- EmbeddedMailObject.cs
- MatrixTransform.cs
- OleDbParameter.cs
- ErrorFormatter.cs
- ProxyHwnd.cs
- ProfileProvider.cs
- ApplicationFileParser.cs
- VirtualPathProvider.cs
- ImageAnimator.cs
- HttpDigestClientCredential.cs
- TrustManagerMoreInformation.cs
- DateTimeEditor.cs
- Attributes.cs
- SessionPageStatePersister.cs
- XPathNodeIterator.cs
- ManagementQuery.cs
- CodeDomSerializer.cs
- ResourcesChangeInfo.cs
- XmlSecureResolver.cs
- OutputScope.cs
- OutOfMemoryException.cs
- ResolveNameEventArgs.cs
- Context.cs
- TableAdapterManagerHelper.cs
- RowCache.cs
- AllowedAudienceUriElement.cs
- TcpTransportSecurity.cs
- PrivilegedConfigurationManager.cs
- ContractInstanceProvider.cs
- TileModeValidation.cs
- ExternalDataExchangeService.cs
- AutoSizeToolBoxItem.cs
- ContentElementAutomationPeer.cs
- EditingMode.cs
- TimeSpanOrInfiniteValidator.cs
- DataControlLinkButton.cs
- newitemfactory.cs
- MarkedHighlightComponent.cs
- ExpressionVisitorHelpers.cs
- BrushMappingModeValidation.cs
- AlphabeticalEnumConverter.cs
- UrlAuthFailureHandler.cs
- WebPartManager.cs
- RouteItem.cs
- CellParagraph.cs
- TextMarkerSource.cs