Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / Equal.cs / 1305376 / Equal.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 Equal: CodeActivity { //Lock is not needed for operationFunction here. The reason is that delegates for a given Equal 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.Equal, 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
- EntityContainerEntitySet.cs
- Symbol.cs
- SymbolType.cs
- ListInitExpression.cs
- UnauthorizedAccessException.cs
- PerfService.cs
- HitTestResult.cs
- PopOutPanel.cs
- XPathPatternParser.cs
- ColorConvertedBitmap.cs
- TagMapCollection.cs
- SafeNativeMethods.cs
- RadioButtonFlatAdapter.cs
- unsafenativemethodsother.cs
- TextStore.cs
- entityreference_tresulttype.cs
- QuerySubExprEliminator.cs
- _CacheStreams.cs
- DBDataPermission.cs
- ProfilePropertySettings.cs
- ActivitySurrogate.cs
- MobileFormsAuthentication.cs
- BehaviorEditorPart.cs
- TextShapeableCharacters.cs
- XPathSingletonIterator.cs
- ObjectDataProvider.cs
- CollectionType.cs
- FilterEventArgs.cs
- Choices.cs
- ClientRoleProvider.cs
- SwitchElementsCollection.cs
- util.cs
- ChannelManager.cs
- KeySpline.cs
- StrongName.cs
- COM2PropertyDescriptor.cs
- SafeHandle.cs
- EncoderExceptionFallback.cs
- EventListener.cs
- EtwTrace.cs
- LocatorPart.cs
- DbConnectionHelper.cs
- Annotation.cs
- UInt16Storage.cs
- SettingsPropertyNotFoundException.cs
- MeasurementDCInfo.cs
- SimpleHandlerFactory.cs
- NominalTypeEliminator.cs
- XsltCompileContext.cs
- TextParagraphView.cs
- ComponentDispatcher.cs
- SparseMemoryStream.cs
- EntityCommandDefinition.cs
- DotExpr.cs
- ScrollItemProviderWrapper.cs
- ToolStripSplitStackLayout.cs
- QuaternionRotation3D.cs
- PartialClassGenerationTask.cs
- objectquery_tresulttype.cs
- MergeLocalizationDirectives.cs
- FileLevelControlBuilderAttribute.cs
- HttpConfigurationSystem.cs
- HMACSHA256.cs
- ExtractedStateEntry.cs
- FieldMetadata.cs
- DomainConstraint.cs
- WorkflowMarkupSerializationManager.cs
- XXXInfos.cs
- DocumentXmlWriter.cs
- XmlEventCache.cs
- DayRenderEvent.cs
- Int32AnimationUsingKeyFrames.cs
- ListControlDataBindingHandler.cs
- ZipIOCentralDirectoryBlock.cs
- SqlClientPermission.cs
- StylusShape.cs
- BatchServiceHost.cs
- PolicyValidationException.cs
- XmlDocumentSerializer.cs
- EventWaitHandleSecurity.cs
- XmlSchemaParticle.cs
- XmlHierarchicalDataSourceView.cs
- ManipulationDelta.cs
- SQLUtility.cs
- AppDomainManager.cs
- Monitor.cs
- MenuDesigner.cs
- Zone.cs
- XmlSchemaType.cs
- XmlMemberMapping.cs
- SerTrace.cs
- DataGridViewRowsAddedEventArgs.cs
- CodeAttachEventStatement.cs
- Proxy.cs
- BindingList.cs
- TogglePatternIdentifiers.cs
- SimpleRecyclingCache.cs
- KeyConstraint.cs
- OperationPickerDialog.cs
- SelectionProviderWrapper.cs