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
- BaseContextMenu.cs
- Char.cs
- WindowsSlider.cs
- DataObject.cs
- MemberAssignmentAnalysis.cs
- NavigatorInput.cs
- OutArgumentConverter.cs
- OdbcHandle.cs
- AssemblyAssociatedContentFileAttribute.cs
- TextMarkerSource.cs
- RegisteredDisposeScript.cs
- latinshape.cs
- InvalidOperationException.cs
- GridView.cs
- EncoderExceptionFallback.cs
- ConnectionManager.cs
- AsyncInvokeOperation.cs
- SchemaImporterExtensionElementCollection.cs
- SoapProtocolReflector.cs
- BaseParser.cs
- HtmlValidatorAdapter.cs
- ToolStripItemBehavior.cs
- ParserStreamGeometryContext.cs
- NotificationContext.cs
- DeploymentSectionCache.cs
- RepeaterItemEventArgs.cs
- StrokeNodeOperations.cs
- DrawingContext.cs
- AggregationMinMaxHelpers.cs
- CornerRadius.cs
- ParseNumbers.cs
- SEHException.cs
- EditCommandColumn.cs
- DecoderNLS.cs
- LogLogRecordEnumerator.cs
- TextWriter.cs
- SerializerDescriptor.cs
- SchemaContext.cs
- MulticastDelegate.cs
- QueueProcessor.cs
- Pkcs7Recipient.cs
- TransformationRules.cs
- EntityWithKeyStrategy.cs
- SafeRightsManagementHandle.cs
- ProjectionPathSegment.cs
- PropertyExpression.cs
- HttpWebRequestElement.cs
- DependencyObjectType.cs
- JavaScriptSerializer.cs
- TransactionContextManager.cs
- Label.cs
- CollectionChangeEventArgs.cs
- ShaperBuffers.cs
- StylusOverProperty.cs
- ExpressionVisitor.cs
- XmlExpressionDumper.cs
- UserControl.cs
- TrackingDataItemValue.cs
- SplashScreen.cs
- ObjectQuery.cs
- ComboBox.cs
- Parser.cs
- GetCryptoTransformRequest.cs
- ParameterBinding.cs
- _NegoState.cs
- InvokePatternIdentifiers.cs
- PipelineModuleStepContainer.cs
- MatrixCamera.cs
- HttpConfigurationContext.cs
- ListView.cs
- FixedTextView.cs
- SafeEventLogWriteHandle.cs
- TypeUnloadedException.cs
- WebPartEditVerb.cs
- DataBoundLiteralControl.cs
- NonBatchDirectoryCompiler.cs
- TableDetailsRow.cs
- PolicyValidationException.cs
- Bind.cs
- WebPartZoneBase.cs
- HttpWrapper.cs
- InputLangChangeEvent.cs
- SafeNativeMethods.cs
- ConditionedDesigner.cs
- XmlSchemaAnnotated.cs
- GeometryConverter.cs
- XmlDictionaryWriter.cs
- WebPartAddingEventArgs.cs
- CurrentChangingEventArgs.cs
- CommandLibraryHelper.cs
- SqlDependencyListener.cs
- PersonalizationStateInfoCollection.cs
- CompoundFileStorageReference.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- FormCollection.cs
- URLAttribute.cs
- CellTreeSimplifier.cs
- NativeMethods.cs
- MatrixTransform.cs
- RawStylusActions.cs