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
- DataGridViewHitTestInfo.cs
- CompiledIdentityConstraint.cs
- HostProtectionException.cs
- TransportContext.cs
- ExtendedProtectionPolicyTypeConverter.cs
- AutoResizedEvent.cs
- DBDataPermission.cs
- DiagnosticsConfigurationHandler.cs
- SourceSwitch.cs
- SurrogateSelector.cs
- SqlUdtInfo.cs
- OdbcParameterCollection.cs
- NumberFunctions.cs
- FrameworkElement.cs
- LifetimeServices.cs
- ArrayExtension.cs
- AnnotationComponentManager.cs
- FileVersion.cs
- DefaultPropertyAttribute.cs
- Matrix3D.cs
- _CookieModule.cs
- Double.cs
- FileDocument.cs
- DataServiceExpressionVisitor.cs
- EventWaitHandleSecurity.cs
- DataObjectAttribute.cs
- X509SubjectKeyIdentifierClause.cs
- BezierSegment.cs
- Label.cs
- ObjectDataSourceFilteringEventArgs.cs
- ReferencedCollectionType.cs
- Compiler.cs
- ExtenderHelpers.cs
- XmlSchemaNotation.cs
- SQLString.cs
- WindowsToolbarAsMenu.cs
- RelatedView.cs
- FullTextLine.cs
- TextEditorSpelling.cs
- PathNode.cs
- MappedMetaModel.cs
- MarshalByRefObject.cs
- FileDialogCustomPlace.cs
- CompilationUtil.cs
- HtmlElementEventArgs.cs
- OdbcTransaction.cs
- CodeSnippetCompileUnit.cs
- DynamicArgumentDialog.cs
- CodeEntryPointMethod.cs
- CacheForPrimitiveTypes.cs
- LocationFactory.cs
- ClrProviderManifest.cs
- MenuCommand.cs
- AssertFilter.cs
- Panel.cs
- HtmlLink.cs
- ConstructorBuilder.cs
- TableAdapterManagerNameHandler.cs
- CookieProtection.cs
- Attributes.cs
- NumericUpDownAccelerationCollection.cs
- TypeUtil.cs
- SessionStateContainer.cs
- OdbcConnectionOpen.cs
- IdentifierCreationService.cs
- FrameworkObject.cs
- ColorConvertedBitmap.cs
- LabelLiteral.cs
- HandlerMappingMemo.cs
- SettingsContext.cs
- SQLBytesStorage.cs
- ReliableOutputConnection.cs
- AssertSection.cs
- SHA256.cs
- CollectionConverter.cs
- IndexedString.cs
- RotationValidation.cs
- ImageDrawing.cs
- TableLayoutStyleCollection.cs
- FileDialog.cs
- Command.cs
- WebPartUserCapability.cs
- ComponentEvent.cs
- StyleSelector.cs
- DesignerRegionCollection.cs
- RuleSettings.cs
- XamlSerializerUtil.cs
- GridViewUpdateEventArgs.cs
- METAHEADER.cs
- PropertyValue.cs
- CompilationUnit.cs
- DataGridViewRowConverter.cs
- ProxyManager.cs
- DataSourceSelectArguments.cs
- ZoneButton.cs
- BaseResourcesBuildProvider.cs
- Ref.cs
- HandlerBase.cs
- CollectionType.cs
- Thumb.cs