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
- RawStylusInput.cs
- InstanceOwnerException.cs
- DrawingImage.cs
- EventSinkHelperWriter.cs
- WebReferencesBuildProvider.cs
- WorkflowTransactionOptions.cs
- CustomValidator.cs
- ApplicationException.cs
- JsonReaderWriterFactory.cs
- RoleServiceManager.cs
- StrongNameIdentityPermission.cs
- Evidence.cs
- WebEventTraceProvider.cs
- XomlCompilerHelpers.cs
- MouseEvent.cs
- DateRangeEvent.cs
- InternalConfigRoot.cs
- Switch.cs
- CookielessData.cs
- Vector3DCollectionConverter.cs
- EditorPart.cs
- ErrorWrapper.cs
- SpellCheck.cs
- VisualBrush.cs
- DataBindEngine.cs
- FormViewUpdatedEventArgs.cs
- CancellationTokenSource.cs
- GeneratedCodeAttribute.cs
- AdornerDecorator.cs
- CustomCategoryAttribute.cs
- MessageOperationFormatter.cs
- LongTypeConverter.cs
- ColumnHeader.cs
- HTTPNotFoundHandler.cs
- CodeAccessPermission.cs
- TableItemProviderWrapper.cs
- DataViewManager.cs
- _NegoState.cs
- RoleServiceManager.cs
- SqlDelegatedTransaction.cs
- WeakReference.cs
- XmlQueryType.cs
- TextWriter.cs
- RemoveStoryboard.cs
- RotateTransform3D.cs
- XPathSelfQuery.cs
- XmlSchemaDatatype.cs
- XmlSchemaParticle.cs
- WebConfigurationHost.cs
- XmlAttributeAttribute.cs
- SessionState.cs
- UpdateTranslator.cs
- PageAdapter.cs
- AnimationTimeline.cs
- StyleBamlTreeBuilder.cs
- StateMachineSubscriptionManager.cs
- SchemaReference.cs
- ConstraintManager.cs
- __Filters.cs
- InputMethod.cs
- RetrieveVirtualItemEventArgs.cs
- XmlEventCache.cs
- Memoizer.cs
- IISMapPath.cs
- SoapHeaderAttribute.cs
- SqlCommandBuilder.cs
- MultiSelectRootGridEntry.cs
- PolyLineSegmentFigureLogic.cs
- GeneralTransform3DGroup.cs
- BitArray.cs
- DragEvent.cs
- DataBindEngine.cs
- XamlClipboardData.cs
- ExecutionContext.cs
- DataSourceBooleanViewSchemaConverter.cs
- Vector3DKeyFrameCollection.cs
- HierarchicalDataTemplate.cs
- VariantWrapper.cs
- WebPartZoneCollection.cs
- CollectionContainer.cs
- UnauthorizedAccessException.cs
- Preprocessor.cs
- LinqDataSource.cs
- BinaryParser.cs
- GridView.cs
- DataSvcMapFileSerializer.cs
- webbrowsersite.cs
- XmlRawWriter.cs
- OperationCanceledException.cs
- ObjectDataSourceSelectingEventArgs.cs
- Lasso.cs
- exports.cs
- Color.cs
- FileAuthorizationModule.cs
- XPathAncestorQuery.cs
- TrayIconDesigner.cs
- TextSimpleMarkerProperties.cs
- AuthorizationSection.cs
- Stackframe.cs
- ProviderException.cs