Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / VariableValue.cs / 1305376 / VariableValue.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Expressions { using System.Linq.Expressions; using System.Runtime; public sealed class VariableValue: CodeActivity , IExpressionContainer { public VariableValue() : base() { } public VariableValue(Variable variable) : base() { this.Variable = variable; } public Variable Variable { get; set; } Expression IExpressionContainer.Expression { get { return ExpressionUtilities.CreateIdentifierExpression(this.Variable); } } protected override void CacheMetadata(CodeActivityMetadata metadata) { if (this.Variable == null) { metadata.AddValidationError(SR.VariableMustBeSet); } else { if (!(this.Variable is Variable ) && !TypeHelper.AreTypesCompatible(this.Variable.Type, typeof(T))) { metadata.AddValidationError(SR.VariableTypeInvalid(this.Variable, typeof(T), this.Variable.Type)); } if (!this.Variable.IsInTree) { metadata.AddValidationError(SR.VariableShouldBeOpen(this.Variable.Name)); } if (!metadata.Environment.IsVisible(this.Variable)) { metadata.AddValidationError(SR.VariableNotVisible(this.Variable.Name)); } } } public override string ToString() { if (Variable != null && !string.IsNullOrEmpty(Variable.Name)) { return Variable.Name; } return base.ToString(); } internal override bool TryGetValue(ActivityContext context, out T value) { try { context.AllowChainedEnvironmentAccess = true; value = context.GetValue ((LocationReference)this.Variable); } finally { context.AllowChainedEnvironmentAccess = false; } return true; } protected override T Execute(CodeActivityContext context) { return ExecuteWithTryGetValue(context); } } } // 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
- AnnotationComponentManager.cs
- TreeNodeMouseHoverEvent.cs
- FixedPageStructure.cs
- RunWorkerCompletedEventArgs.cs
- SqlFileStream.cs
- NonBatchDirectoryCompiler.cs
- NetPipeSection.cs
- CodeAssignStatement.cs
- ByteConverter.cs
- DescendentsWalker.cs
- EntityDataSourceEntitySetNameItem.cs
- TraceListeners.cs
- Int64AnimationUsingKeyFrames.cs
- XhtmlBasicLabelAdapter.cs
- ObjectToIdCache.cs
- GeneralTransform3DCollection.cs
- NominalTypeEliminator.cs
- CursorConverter.cs
- SerialPinChanges.cs
- StrokeFIndices.cs
- UnsafeNativeMethodsTablet.cs
- ManipulationLogic.cs
- UICuesEvent.cs
- ExpressionVisitor.cs
- LoginViewDesigner.cs
- InfoCardService.cs
- Operand.cs
- ApplicationFileParser.cs
- PointIndependentAnimationStorage.cs
- BrowserTree.cs
- ParagraphVisual.cs
- DataContractFormatAttribute.cs
- _WinHttpWebProxyDataBuilder.cs
- InputBinding.cs
- DataGridItemCollection.cs
- WindowsFormsSynchronizationContext.cs
- BamlVersionHeader.cs
- EventProxy.cs
- ZipIOCentralDirectoryFileHeader.cs
- BeginSelectCardRequest.cs
- XPathBuilder.cs
- ActiveXHelper.cs
- KoreanLunisolarCalendar.cs
- RequestCachePolicy.cs
- StringCollection.cs
- HostedTransportConfigurationBase.cs
- PerformanceCounterCategory.cs
- GridViewUpdateEventArgs.cs
- Helper.cs
- ButtonBase.cs
- HttpServerVarsCollection.cs
- HttpContextBase.cs
- FilterQuery.cs
- ProtocolsSection.cs
- ProfileBuildProvider.cs
- ConnectAlgorithms.cs
- CombinedHttpChannel.cs
- ChildrenQuery.cs
- FamilyTypefaceCollection.cs
- ParallelEnumerable.cs
- SqlProvider.cs
- ProfileBuildProvider.cs
- XpsDigitalSignature.cs
- XPathAncestorQuery.cs
- PreviewPrintController.cs
- SmiEventSink.cs
- SystemIPv6InterfaceProperties.cs
- SecurityUtils.cs
- LocalizationComments.cs
- Converter.cs
- ComponentChangingEvent.cs
- CompilationRelaxations.cs
- UIAgentAsyncEndRequest.cs
- MailMessage.cs
- FormsAuthenticationUserCollection.cs
- UnknownBitmapDecoder.cs
- ActiveXHost.cs
- DomainUpDown.cs
- EnumerableCollectionView.cs
- DbProviderConfigurationHandler.cs
- ChtmlImageAdapter.cs
- CharacterMetricsDictionary.cs
- XmlILStorageConverter.cs
- MailSettingsSection.cs
- EditingCoordinator.cs
- PartialClassGenerationTaskInternal.cs
- AppSettingsSection.cs
- ErrorHandler.cs
- externdll.cs
- QilName.cs
- relpropertyhelper.cs
- ActionFrame.cs
- PathSegment.cs
- ExeConfigurationFileMap.cs
- TextBlock.cs
- shaper.cs
- TraceXPathNavigator.cs
- UTF32Encoding.cs
- ImageSourceValueSerializer.cs
- Stylesheet.cs