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
- SessionStateSection.cs
- RemoteWebConfigurationHostServer.cs
- InternalTypeHelper.cs
- SoapSchemaImporter.cs
- DataControlImageButton.cs
- XmlValidatingReaderImpl.cs
- StatusBarDesigner.cs
- WebControlsSection.cs
- AttachedProperty.cs
- ConnectionManager.cs
- TextPenaltyModule.cs
- XmlCharacterData.cs
- DeclarationUpdate.cs
- BaseCodeDomTreeGenerator.cs
- CatalogPart.cs
- ShapingWorkspace.cs
- entitydatasourceentitysetnameconverter.cs
- Visual3DCollection.cs
- CodeMethodReturnStatement.cs
- BuilderElements.cs
- ToggleButtonAutomationPeer.cs
- XamlPathDataSerializer.cs
- DeflateStreamAsyncResult.cs
- XmlSerializer.cs
- WebReference.cs
- SqlUserDefinedAggregateAttribute.cs
- EntityContainer.cs
- ChildChangedEventArgs.cs
- ExceptionUtility.cs
- DefaultProfileManager.cs
- ConnectionStringsSection.cs
- UpdatePanelTriggerCollection.cs
- CFStream.cs
- HwndProxyElementProvider.cs
- HtmlTable.cs
- XmlParserContext.cs
- XmlDictionary.cs
- FlowPosition.cs
- ObjectStateEntry.cs
- AvTraceDetails.cs
- Guid.cs
- GenerateScriptTypeAttribute.cs
- IdentityModelDictionary.cs
- InvokeMethodActivity.cs
- MenuItemCollection.cs
- ClosableStream.cs
- WebPermission.cs
- PageStatePersister.cs
- FullTrustAssembliesSection.cs
- MailMessage.cs
- WinInetCache.cs
- BinaryMethodMessage.cs
- MenuItem.cs
- UserNameSecurityTokenProvider.cs
- EntityDataSourceChangingEventArgs.cs
- DataTableTypeConverter.cs
- ExecutedRoutedEventArgs.cs
- LineSegment.cs
- HelpEvent.cs
- EncryptedData.cs
- ObjectFullSpanRewriter.cs
- Mapping.cs
- oledbmetadatacolumnnames.cs
- EditorPart.cs
- Vector.cs
- ToolboxItemAttribute.cs
- BinaryUtilClasses.cs
- CodeSnippetStatement.cs
- X509Certificate2.cs
- ConfigLoader.cs
- IxmlLineInfo.cs
- NameTable.cs
- DiscoveryDocumentSearchPattern.cs
- _NegotiateClient.cs
- TextAdaptor.cs
- DataGridViewColumnHeaderCell.cs
- RequestQueryProcessor.cs
- ComponentChangingEvent.cs
- ComponentResourceKey.cs
- GridViewDeleteEventArgs.cs
- PathStreamGeometryContext.cs
- Query.cs
- BitmapPalettes.cs
- BuildProvider.cs
- ConfigPathUtility.cs
- DataPagerFieldCollection.cs
- EventPropertyMap.cs
- CacheHelper.cs
- DataMemberAttribute.cs
- Control.cs
- RunInstallerAttribute.cs
- EdmConstants.cs
- AddInIpcChannel.cs
- EdmConstants.cs
- XmlDataProvider.cs
- QueueProcessor.cs
- StylusEditingBehavior.cs
- ActivityXRefPropertyEditor.cs
- MetadataItemCollectionFactory.cs
- UxThemeWrapper.cs