Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / Divide.cs / 1305376 / Divide.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 Divide: CodeActivity { //Lock is not needed for operationFunction here. The reason is that delegates for a given Divide 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.Divide, 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
- DeclarationUpdate.cs
- BinaryObjectReader.cs
- AttachedPropertyMethodSelector.cs
- FileIOPermission.cs
- RegexParser.cs
- __FastResourceComparer.cs
- CodeCommentStatement.cs
- KernelTypeValidation.cs
- WorkflowFormatterBehavior.cs
- TextSelectionHighlightLayer.cs
- DataGridViewCell.cs
- BindingMemberInfo.cs
- ReturnEventArgs.cs
- DynamicQueryableWrapper.cs
- RsaSecurityKey.cs
- HttpHostedTransportConfiguration.cs
- ImageMapEventArgs.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- WaitHandleCannotBeOpenedException.cs
- SynchronizationContext.cs
- ApplicationException.cs
- SelectionItemProviderWrapper.cs
- ReferenceEqualityComparer.cs
- CallbackHandler.cs
- CryptoApi.cs
- DrawItemEvent.cs
- ModelService.cs
- ParameterBuilder.cs
- AppendHelper.cs
- ServiceModelReg.cs
- DSASignatureFormatter.cs
- ToolBarTray.cs
- MethodExpr.cs
- ParallelTimeline.cs
- HtmlTableCell.cs
- HttpGetProtocolImporter.cs
- SystemIPAddressInformation.cs
- EnumMember.cs
- DtrList.cs
- MaskInputRejectedEventArgs.cs
- FormView.cs
- CodeCommentStatementCollection.cs
- InputScope.cs
- XmlUnspecifiedAttribute.cs
- Hashtable.cs
- ProfileSettings.cs
- SpellerError.cs
- MenuItemStyle.cs
- Point3DAnimation.cs
- DataViewSettingCollection.cs
- DoubleAnimationClockResource.cs
- ConfigurationSectionCollection.cs
- UTF7Encoding.cs
- XhtmlBasicValidatorAdapter.cs
- EventLogPermissionEntryCollection.cs
- XPathNodeList.cs
- TemplateBamlRecordReader.cs
- Adorner.cs
- SqlVisitor.cs
- ThumbButtonInfoCollection.cs
- Misc.cs
- DataServiceBuildProvider.cs
- SegmentInfo.cs
- Point3DCollectionValueSerializer.cs
- validationstate.cs
- MethodCallTranslator.cs
- Matrix.cs
- ProfileServiceManager.cs
- FrameworkContentElement.cs
- EntityDataSourceReferenceGroup.cs
- PartialArray.cs
- StreamingContext.cs
- RenderDataDrawingContext.cs
- SortQueryOperator.cs
- OLEDB_Util.cs
- OutputCacheProfile.cs
- ProvidersHelper.cs
- ToolStripItemImageRenderEventArgs.cs
- WindowsGraphics2.cs
- PasswordTextNavigator.cs
- PolicyDesigner.cs
- FacetValues.cs
- FontSizeConverter.cs
- TogglePattern.cs
- CustomError.cs
- VisualStyleInformation.cs
- Compilation.cs
- EncoderBestFitFallback.cs
- DictionaryEntry.cs
- FtpCachePolicyElement.cs
- XmlWhitespace.cs
- ILGenerator.cs
- elementinformation.cs
- DeviceContexts.cs
- Renderer.cs
- NextPreviousPagerField.cs
- ListViewHitTestInfo.cs
- DataGridViewCellStyle.cs
- MasterPage.cs
- LazyInitializer.cs