Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / Not.cs / 1305376 / Not.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Expressions { using System.Activities; using System.Activities.Validation; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Linq.Expressions; using System.Runtime; [SuppressMessage(FxCop.Category.Naming, FxCop.Rule.IdentifiersShouldNotMatchKeywords, Justification = "Optimizing for XAML naming. VB imperative users will [] qualify (e.g. New [Not])")] public sealed class Not: CodeActivity { //Lock is not needed for operationFunction here. The reason is that delegates for a given Not 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 Operand { get; set; } protected override void CacheMetadata(CodeActivityMetadata metadata) { UnaryExpressionHelper.OnGetArguments(metadata, this.Operand); if (operationFunction == null) { ValidationError validationError; if (!UnaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.Not, out operationFunction, out validationError)) { metadata.AddValidationError(validationError); } } } protected override TResult Execute(CodeActivityContext context) { Fx.Assert(operationFunction != null, "OperationFunction must exist."); TOperand operandValue = this.Operand.Get(context); return operationFunction(operandValue); } } } // 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
- SchemaImporterExtensionsSection.cs
- WindowsPen.cs
- ClientSession.cs
- LaxModeSecurityHeaderElementInferenceEngine.cs
- ToolStripPanelRenderEventArgs.cs
- GeometryValueSerializer.cs
- DBConcurrencyException.cs
- TableLayoutSettingsTypeConverter.cs
- SyndicationDeserializer.cs
- OperationInvokerBehavior.cs
- ManagementOperationWatcher.cs
- WizardPanel.cs
- RedistVersionInfo.cs
- EntityDataSourceReferenceGroup.cs
- WpfMemberInvoker.cs
- WsdlHelpGeneratorElement.cs
- Set.cs
- Size3D.cs
- ResponseStream.cs
- SmiEventSink.cs
- SoapIgnoreAttribute.cs
- RawAppCommandInputReport.cs
- NameValueFileSectionHandler.cs
- NotifyIcon.cs
- UncommonField.cs
- DebugView.cs
- DocumentEventArgs.cs
- ToolStripHighContrastRenderer.cs
- WindowVisualStateTracker.cs
- Util.cs
- StringValidator.cs
- FullTextBreakpoint.cs
- SimpleMailWebEventProvider.cs
- NameValuePermission.cs
- StylusPoint.cs
- ThemeDirectoryCompiler.cs
- TaiwanCalendar.cs
- QueryableDataSource.cs
- CustomSignedXml.cs
- CatalogPart.cs
- ParseChildrenAsPropertiesAttribute.cs
- ToolStripGrip.cs
- ClientSession.cs
- UniqueEventHelper.cs
- PackagingUtilities.cs
- StylusCollection.cs
- GlobalEventManager.cs
- TextTreeDeleteContentUndoUnit.cs
- NumericUpDownAccelerationCollection.cs
- AlphaSortedEnumConverter.cs
- InkCanvasFeedbackAdorner.cs
- CultureMapper.cs
- PowerStatus.cs
- SpotLight.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- ContainerUIElement3D.cs
- DataGridItemCollection.cs
- PolyBezierSegmentFigureLogic.cs
- PenLineJoinValidation.cs
- PropVariant.cs
- DataRelationCollection.cs
- Line.cs
- Link.cs
- ScrollProviderWrapper.cs
- SystemFonts.cs
- ExpressionBuilderContext.cs
- TextTreeTextBlock.cs
- InputDevice.cs
- FileEnumerator.cs
- ClientSettingsProvider.cs
- MultitargetingHelpers.cs
- CodeTryCatchFinallyStatement.cs
- XamlPathDataSerializer.cs
- HelpKeywordAttribute.cs
- ValueUtilsSmi.cs
- WmfPlaceableFileHeader.cs
- DocumentCollection.cs
- MiniCustomAttributeInfo.cs
- LockRecursionException.cs
- TypeResolver.cs
- SrgsRule.cs
- CodeCompileUnit.cs
- MimePart.cs
- XomlSerializationHelpers.cs
- DrawingDrawingContext.cs
- XmlWellformedWriter.cs
- GenericXmlSecurityToken.cs
- HttpFileCollectionWrapper.cs
- OracleRowUpdatingEventArgs.cs
- ThaiBuddhistCalendar.cs
- HtmlContainerControl.cs
- Hash.cs
- ScriptingWebServicesSectionGroup.cs
- ProgressBarRenderer.cs
- ButtonField.cs
- StateManagedCollection.cs
- BufferModeSettings.cs
- SystemSounds.cs
- QueueSurrogate.cs
- DesignerActionService.cs