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
- KeySplineConverter.cs
- MessageDesigner.cs
- MLangCodePageEncoding.cs
- SoundPlayer.cs
- RegistryKey.cs
- ManagedIStream.cs
- ListDataBindEventArgs.cs
- TraceHwndHost.cs
- UrlMapping.cs
- ColorBlend.cs
- GroupDescription.cs
- PrimitiveSchema.cs
- CommandDevice.cs
- Conditional.cs
- StringWriter.cs
- OutputCacheSettings.cs
- EventSinkHelperWriter.cs
- RefreshPropertiesAttribute.cs
- DataGridViewRowsAddedEventArgs.cs
- XmlHierarchicalDataSourceView.cs
- XslAstAnalyzer.cs
- Int32RectValueSerializer.cs
- ObjectContext.cs
- InputBindingCollection.cs
- SqlDataSourceStatusEventArgs.cs
- ToolStripDropDown.cs
- TypeInfo.cs
- BuilderPropertyEntry.cs
- ClientSettings.cs
- ApplicationSecurityManager.cs
- PlaceHolder.cs
- SchemaInfo.cs
- COM2IPerPropertyBrowsingHandler.cs
- DynamicRendererThreadManager.cs
- CodeTypeConstructor.cs
- FontFaceLayoutInfo.cs
- Win32SafeHandles.cs
- WebServicesDescriptionAttribute.cs
- Win32Native.cs
- ButtonChrome.cs
- HttpConfigurationSystem.cs
- ServiceDurableInstanceContextProvider.cs
- SoapFaultCodes.cs
- DuplicateDetector.cs
- DataTable.cs
- StoreUtilities.cs
- HttpConfigurationSystem.cs
- GeometryGroup.cs
- EncodingFallbackAwareXmlTextWriter.cs
- RSAOAEPKeyExchangeFormatter.cs
- PointAnimationUsingPath.cs
- MetadataItemCollectionFactory.cs
- CriticalHandle.cs
- IIS7UserPrincipal.cs
- DesignOnlyAttribute.cs
- ScrollItemPattern.cs
- Animatable.cs
- BitmapEffectInputData.cs
- AxisAngleRotation3D.cs
- DataSet.cs
- JoinGraph.cs
- TextTreeUndo.cs
- MultipleViewPattern.cs
- ExternalFile.cs
- X509UI.cs
- Pts.cs
- MetadataPropertyAttribute.cs
- BindingContext.cs
- QueueProcessor.cs
- BrushMappingModeValidation.cs
- InputLangChangeEvent.cs
- CheckBoxRenderer.cs
- XmlExtensionFunction.cs
- GridLength.cs
- Cursors.cs
- SqlDataRecord.cs
- ProgressChangedEventArgs.cs
- MobileControlsSectionHandler.cs
- SvcMapFileSerializer.cs
- ErrorRuntimeConfig.cs
- FileChangesMonitor.cs
- IgnoreFlushAndCloseStream.cs
- SymbolType.cs
- XmlSequenceWriter.cs
- webclient.cs
- DrawToolTipEventArgs.cs
- ValidationErrorInfo.cs
- Facet.cs
- KeyValueConfigurationCollection.cs
- CLSCompliantAttribute.cs
- FileDetails.cs
- OdbcInfoMessageEvent.cs
- DesignerForm.cs
- TypographyProperties.cs
- WindowProviderWrapper.cs
- EmbeddedMailObject.cs
- DataBoundControlAdapter.cs
- SiblingIterators.cs
- StorageEntityTypeMapping.cs
- CalendarAutoFormatDialog.cs