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
- XmlTextEncoder.cs
- DataGridViewRowPostPaintEventArgs.cs
- SerializationInfo.cs
- WmlTextBoxAdapter.cs
- InkCanvas.cs
- XPathDocumentNavigator.cs
- ColorContextHelper.cs
- PackageStore.cs
- Assembly.cs
- IntSecurity.cs
- CustomErrorsSectionWrapper.cs
- ColumnResizeUndoUnit.cs
- StrongNameSignatureInformation.cs
- TemplatedWizardStep.cs
- FacetDescription.cs
- CustomExpressionEventArgs.cs
- COM2PropertyDescriptor.cs
- TextServicesCompartment.cs
- CompilationUnit.cs
- DbParameterCollectionHelper.cs
- DesignTimeVisibleAttribute.cs
- QilStrConcatenator.cs
- WaitHandle.cs
- TdsEnums.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ResourcePool.cs
- SizeChangedInfo.cs
- MimeXmlImporter.cs
- CodeNamespace.cs
- HtmlInputHidden.cs
- StringComparer.cs
- DataTablePropertyDescriptor.cs
- NumberAction.cs
- CodeDelegateCreateExpression.cs
- mediapermission.cs
- XmlJsonReader.cs
- CryptoHelper.cs
- ZoneButton.cs
- Grid.cs
- EntityCommandDefinition.cs
- ContractMapping.cs
- RelationshipConverter.cs
- MdImport.cs
- IgnoreSectionHandler.cs
- CursorConverter.cs
- StylusLogic.cs
- EventLogEntryCollection.cs
- CLSCompliantAttribute.cs
- ConcatQueryOperator.cs
- XmlSchemaCollection.cs
- LinearKeyFrames.cs
- BamlLocalizableResource.cs
- RuntimeArgumentHandle.cs
- figurelengthconverter.cs
- PrivilegedConfigurationManager.cs
- SslStream.cs
- NameValueSectionHandler.cs
- Group.cs
- TextDocumentView.cs
- CultureInfoConverter.cs
- DockProviderWrapper.cs
- Group.cs
- BasicKeyConstraint.cs
- ReliableDuplexSessionChannel.cs
- DelayedRegex.cs
- StringReader.cs
- TabletCollection.cs
- Style.cs
- ForAllOperator.cs
- CustomAssemblyResolver.cs
- ConnectivityStatus.cs
- ItemMap.cs
- PixelShader.cs
- GuidConverter.cs
- SqlBuffer.cs
- HealthMonitoringSection.cs
- GeneralTransform2DTo3DTo2D.cs
- GestureRecognitionResult.cs
- ILGenerator.cs
- MenuItem.cs
- TableRow.cs
- ObjectViewEntityCollectionData.cs
- ModelItemCollectionImpl.cs
- DependencyPropertyKey.cs
- RangeBase.cs
- EditorPartChrome.cs
- ReplyChannelBinder.cs
- RectangleConverter.cs
- XmlSchemaSimpleTypeUnion.cs
- StreamGeometry.cs
- UITypeEditor.cs
- TypeLoader.cs
- CompiledXpathExpr.cs
- StyleTypedPropertyAttribute.cs
- XmlSchemaDocumentation.cs
- AttachmentCollection.cs
- CheckBoxList.cs
- ScopedKnownTypes.cs
- NameSpaceEvent.cs
- HelpProvider.cs