Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / As.cs / 1305376 / As.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Expressions { using System.Activities; using System.Activities.Statements; using System.Activities.Validation; using System.Collections.Generic; 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 [As])")] public sealed class As: CodeActivity { //Lock is not needed for operationFunction here. The reason is that delegates for a given As 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.TypeAs, 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
- LinkClickEvent.cs
- RuleDefinitions.cs
- TileModeValidation.cs
- PrintingPermissionAttribute.cs
- PageContentCollection.cs
- SortedSet.cs
- NativeCppClassAttribute.cs
- KeyTimeConverter.cs
- WSTrust.cs
- SqlBooleanizer.cs
- EntityContainer.cs
- TypedOperationInfo.cs
- MissingFieldException.cs
- OdbcEnvironmentHandle.cs
- XamlPointCollectionSerializer.cs
- PlanCompiler.cs
- Sentence.cs
- SimpleWorkerRequest.cs
- ThemeDictionaryExtension.cs
- ApplicationBuildProvider.cs
- DetailsViewRowCollection.cs
- CommandField.cs
- DataGridRow.cs
- ProvidePropertyAttribute.cs
- AssemblyBuilder.cs
- MILUtilities.cs
- Hash.cs
- MailWebEventProvider.cs
- __Error.cs
- Compiler.cs
- WorkflowInstanceProxy.cs
- SortFieldComparer.cs
- FunctionGenerator.cs
- ProtectedUri.cs
- MimeParameterWriter.cs
- WaitHandle.cs
- DesignerForm.cs
- CorePropertiesFilter.cs
- CreateUserWizardStep.cs
- TypeConverterAttribute.cs
- FlatButtonAppearance.cs
- Collection.cs
- HttpException.cs
- FileVersion.cs
- ToolstripProfessionalRenderer.cs
- ScriptReferenceBase.cs
- DropDownHolder.cs
- SqlProcedureAttribute.cs
- LinkLabel.cs
- DeviceContexts.cs
- StylusPointPropertyUnit.cs
- SerTrace.cs
- SynchronizationContextHelper.cs
- HyperLinkColumn.cs
- ToolboxItemAttribute.cs
- RenamedEventArgs.cs
- ActiveXHost.cs
- XmlSchemaCompilationSettings.cs
- WmpBitmapDecoder.cs
- DependencyPropertyHelper.cs
- OpacityConverter.cs
- ContextStaticAttribute.cs
- HandlerMappingMemo.cs
- Fault.cs
- ProgressBarRenderer.cs
- XmlRawWriterWrapper.cs
- SmtpReplyReaderFactory.cs
- CustomLineCap.cs
- RectKeyFrameCollection.cs
- PasswordTextNavigator.cs
- PolygonHotSpot.cs
- XPathAncestorQuery.cs
- BufferedReceiveElement.cs
- MediaElementAutomationPeer.cs
- AnnotationStore.cs
- HostExecutionContextManager.cs
- ListViewGroup.cs
- MdiWindowListStrip.cs
- SHA1.cs
- WebPartDisplayMode.cs
- CryptographicAttribute.cs
- brushes.cs
- AssemblyBuilder.cs
- ChangesetResponse.cs
- AudioSignalProblemOccurredEventArgs.cs
- WebConfigurationHostFileChange.cs
- Schema.cs
- MatrixTransform3D.cs
- BitmapVisualManager.cs
- PageThemeParser.cs
- NamespaceMapping.cs
- PathSegmentCollection.cs
- CodeDOMProvider.cs
- FastEncoderWindow.cs
- XDRSchema.cs
- NeutralResourcesLanguageAttribute.cs
- Monitor.cs
- HttpCookiesSection.cs
- AliasGenerator.cs
- UnsafeNativeMethods.cs