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
- SqlBulkCopy.cs
- TakeOrSkipQueryOperator.cs
- xsdvalidator.cs
- TraceUtils.cs
- TreeNodeCollection.cs
- CallSiteBinder.cs
- SymbolType.cs
- JournalEntryStack.cs
- TemplateBindingExtensionConverter.cs
- DesignerTransaction.cs
- M3DUtil.cs
- ToolStripDropDownClosedEventArgs.cs
- SqlMetaData.cs
- CodeObjectCreateExpression.cs
- TableLayoutCellPaintEventArgs.cs
- OletxCommittableTransaction.cs
- ObjectItemAttributeAssemblyLoader.cs
- FilterQuery.cs
- MemoryMappedViewAccessor.cs
- ScriptBehaviorDescriptor.cs
- SQLSingle.cs
- MenuItemBinding.cs
- _NTAuthentication.cs
- Permission.cs
- CapacityStreamGeometryContext.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- Matrix3D.cs
- WindowShowOrOpenTracker.cs
- LiteralSubsegment.cs
- TableProvider.cs
- SpoolingTaskBase.cs
- SourceItem.cs
- ValidationResult.cs
- SharedRuntimeState.cs
- ResourceDictionary.cs
- PersistenceTypeAttribute.cs
- ControlParameter.cs
- StylusCaptureWithinProperty.cs
- ObjectManager.cs
- IPGlobalProperties.cs
- ObjectListFieldsPage.cs
- StorageBasedPackageProperties.cs
- StreamWriter.cs
- AssemblyInfo.cs
- MimeTypeMapper.cs
- AppSecurityManager.cs
- SplashScreenNativeMethods.cs
- ExpressionBuilderContext.cs
- WaitHandleCannotBeOpenedException.cs
- XmlSchemaAnnotated.cs
- OutputCacheProfileCollection.cs
- Enum.cs
- XmlDataSource.cs
- Native.cs
- XamlBuildTaskServices.cs
- IntegerValidator.cs
- MouseGestureValueSerializer.cs
- XmlTextAttribute.cs
- StylusPointPropertyInfoDefaults.cs
- ProfileManager.cs
- RadioButtonPopupAdapter.cs
- IDispatchConstantAttribute.cs
- TemplateControlParser.cs
- BaseDataBoundControlDesigner.cs
- MergeFilterQuery.cs
- ArgumentOutOfRangeException.cs
- MultiTrigger.cs
- Subset.cs
- StringFormat.cs
- QilReplaceVisitor.cs
- PropertyDescriptorGridEntry.cs
- FlowDocumentView.cs
- CustomWebEventKey.cs
- XmlNodeComparer.cs
- TreeViewImageKeyConverter.cs
- TypeInitializationException.cs
- Encoding.cs
- InputReportEventArgs.cs
- XmlNavigatorStack.cs
- ComponentEditorPage.cs
- GridViewColumnHeaderAutomationPeer.cs
- UIntPtr.cs
- RoleManagerModule.cs
- BaseAddressElementCollection.cs
- CodeCommentStatementCollection.cs
- UserMapPath.cs
- ScriptControlManager.cs
- SystemUdpStatistics.cs
- HandlerBase.cs
- PerformanceCountersElement.cs
- regiisutil.cs
- QilScopedVisitor.cs
- SymDocumentType.cs
- SkipStoryboardToFill.cs
- TransactionInformation.cs
- StylusPointProperties.cs
- FlowDocumentPageViewerAutomationPeer.cs
- StructuredType.cs
- EntityContainer.cs
- MailMessageEventArgs.cs