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
- X509ImageLogo.cs
- ParallelRangeManager.cs
- PolicyException.cs
- DataGridViewControlCollection.cs
- Decorator.cs
- Int64AnimationBase.cs
- MemberAccessException.cs
- Font.cs
- AutoResetEvent.cs
- MeasureItemEvent.cs
- _FtpControlStream.cs
- SynchronizedDispatch.cs
- LayoutInformation.cs
- InfoCardProofToken.cs
- AdRotator.cs
- XmlTypeAttribute.cs
- SectionXmlInfo.cs
- IxmlLineInfo.cs
- PeerEndPoint.cs
- RSAProtectedConfigurationProvider.cs
- PageVisual.cs
- AddInController.cs
- WorkflowDesigner.cs
- HwndSourceKeyboardInputSite.cs
- AspNetCompatibilityRequirementsAttribute.cs
- AlternateView.cs
- HttpCachePolicy.cs
- HtmlElementEventArgs.cs
- _ConnectionGroup.cs
- PropertyEmitter.cs
- TransformPatternIdentifiers.cs
- MetafileHeaderWmf.cs
- ExpandoObject.cs
- PerspectiveCamera.cs
- LinqExpressionNormalizer.cs
- ThreadPool.cs
- activationcontext.cs
- WriteFileContext.cs
- DataControlFieldCell.cs
- DispatcherHookEventArgs.cs
- IxmlLineInfo.cs
- MessageQueuePermissionAttribute.cs
- OpenTypeLayout.cs
- ContractTypeNameElement.cs
- ControlValuePropertyAttribute.cs
- PrePostDescendentsWalker.cs
- RegexRunnerFactory.cs
- GACIdentityPermission.cs
- CanonicalXml.cs
- SqlDeflator.cs
- AppDomainAttributes.cs
- AssertSection.cs
- Win32PrintDialog.cs
- ToolStripItemEventArgs.cs
- IODescriptionAttribute.cs
- TargetInvocationException.cs
- TrackingParticipant.cs
- ProfileSection.cs
- SaveFileDialogDesigner.cs
- ScrollEvent.cs
- XmlIlGenerator.cs
- BinHexEncoder.cs
- PaintEvent.cs
- WebPartTransformerCollection.cs
- PersonalizationProviderCollection.cs
- DataViewManagerListItemTypeDescriptor.cs
- XpsViewerException.cs
- OleDbCommand.cs
- DataGrid.cs
- XmlCharacterData.cs
- listitem.cs
- DbModificationClause.cs
- ElementAction.cs
- SystemUnicastIPAddressInformation.cs
- XD.cs
- Border.cs
- MouseGestureValueSerializer.cs
- WebPartAuthorizationEventArgs.cs
- Funcletizer.cs
- Positioning.cs
- WeakReferenceList.cs
- HScrollBar.cs
- InvokeGenerator.cs
- safemediahandle.cs
- InteropAutomationProvider.cs
- SymbolPair.cs
- WSSecureConversationDec2005.cs
- SyndicationDeserializer.cs
- LocalizableResourceBuilder.cs
- ComponentManagerBroker.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- ExtendedPropertyCollection.cs
- TextDpi.cs
- TextServicesDisplayAttributePropertyRanges.cs
- XmlSchemaInclude.cs
- ItemDragEvent.cs
- ListViewCommandEventArgs.cs
- StrongNameUtility.cs
- Logging.cs
- InputReportEventArgs.cs