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
- DataListItemEventArgs.cs
- EntityDataSourceSelectedEventArgs.cs
- ContentDesigner.cs
- TryExpression.cs
- Matrix3DValueSerializer.cs
- Brushes.cs
- InkCanvasAutomationPeer.cs
- cookiecollection.cs
- CellQuery.cs
- CodeDefaultValueExpression.cs
- XmlAnyAttributeAttribute.cs
- SplineKeyFrames.cs
- TraceRecords.cs
- DockEditor.cs
- Property.cs
- Visual3DCollection.cs
- AmbientLight.cs
- RealizationDrawingContextWalker.cs
- TransactionBehavior.cs
- SoapHeaderException.cs
- ClusterRegistryConfigurationProvider.cs
- CursorInteropHelper.cs
- CodeMemberProperty.cs
- VectorConverter.cs
- DatasetMethodGenerator.cs
- HeaderedContentControl.cs
- DataGridViewTextBoxColumn.cs
- FacetDescription.cs
- AuthenticationServiceManager.cs
- LinkedResource.cs
- BindingParameterCollection.cs
- ListViewSelectEventArgs.cs
- PersonalizablePropertyEntry.cs
- EntityDataSourceDataSelection.cs
- MdbDataFileEditor.cs
- RelatedImageListAttribute.cs
- TemplateBuilder.cs
- StandardBindingCollectionElement.cs
- DbBuffer.cs
- DbProviderFactories.cs
- SQLString.cs
- xml.cs
- RijndaelManagedTransform.cs
- ApplicationId.cs
- SharedStatics.cs
- MetadataItem_Static.cs
- sqlmetadatafactory.cs
- Parser.cs
- HtmlEncodedRawTextWriter.cs
- DictionaryEntry.cs
- DoubleUtil.cs
- FloaterParaClient.cs
- EntityDataSourceDataSelection.cs
- shaperfactoryquerycacheentry.cs
- LexicalChunk.cs
- ValidatedControlConverter.cs
- CapabilitiesUse.cs
- PeerNearMe.cs
- TypeDependencyAttribute.cs
- DynamicObjectAccessor.cs
- PreviewKeyDownEventArgs.cs
- QilLiteral.cs
- PropertyGridView.cs
- ContainerParagraph.cs
- HijriCalendar.cs
- TabletCollection.cs
- BindingsCollection.cs
- HashHelper.cs
- FixedPosition.cs
- ColorAnimationBase.cs
- DesignTimeParseData.cs
- WebServiceParameterData.cs
- SqlDataReaderSmi.cs
- SessionPageStatePersister.cs
- ColorTransform.cs
- EditorAttribute.cs
- DataObjectCopyingEventArgs.cs
- PostBackTrigger.cs
- KnownTypeAttribute.cs
- QilPatternVisitor.cs
- Authorization.cs
- StylusPointPropertyId.cs
- CultureSpecificStringDictionary.cs
- CustomValidator.cs
- StrongName.cs
- AssemblyCache.cs
- DataService.cs
- loginstatus.cs
- ListItemViewAttribute.cs
- ConfigXmlWhitespace.cs
- MenuItemStyle.cs
- Mappings.cs
- SizeIndependentAnimationStorage.cs
- SingleAnimation.cs
- SchemaInfo.cs
- Encoder.cs
- XmlCharacterData.cs
- FullTrustAssembliesSection.cs
- SecurityCriticalDataForSet.cs
- ProgressBarBrushConverter.cs