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
- MSHTMLHost.cs
- safex509handles.cs
- ReachUIElementCollectionSerializerAsync.cs
- WebBrowsableAttribute.cs
- TextDecorationCollection.cs
- ListItemViewAttribute.cs
- DisplayClaim.cs
- MouseCaptureWithinProperty.cs
- WebPartConnectionsCancelEventArgs.cs
- BuildManagerHost.cs
- SchemaElementLookUpTable.cs
- DataFormat.cs
- MdiWindowListItemConverter.cs
- ExpressionDumper.cs
- MetadataArtifactLoaderFile.cs
- PointUtil.cs
- SoundPlayer.cs
- PageCatalogPart.cs
- MailDefinition.cs
- Boolean.cs
- Win32.cs
- BasicHttpBindingCollectionElement.cs
- DebuggerAttributes.cs
- ParagraphResult.cs
- AnimationStorage.cs
- PageClientProxyGenerator.cs
- AQNBuilder.cs
- HtmlTableRow.cs
- TraversalRequest.cs
- DataGridViewCellConverter.cs
- ResourceDictionary.cs
- EndpointIdentityExtension.cs
- Baml6ConstructorInfo.cs
- TemplateAction.cs
- Panel.cs
- XamlWriterExtensions.cs
- SafeLocalMemHandle.cs
- BlurBitmapEffect.cs
- ExtenderProvidedPropertyAttribute.cs
- FileNotFoundException.cs
- MetabaseServerConfig.cs
- DataGrid.cs
- XDeferredAxisSource.cs
- ExtractCollection.cs
- HandleValueEditor.cs
- ImportedPolicyConversionContext.cs
- Tuple.cs
- GridItemProviderWrapper.cs
- VisualBasicHelper.cs
- BindingFormattingDialog.cs
- Vector3DAnimationBase.cs
- TrustManager.cs
- ReferenceConverter.cs
- AuthenticateEventArgs.cs
- CellCreator.cs
- EntityContainerRelationshipSet.cs
- XamlWrappingReader.cs
- ConfigurationStrings.cs
- DescendantOverDescendantQuery.cs
- UInt32Converter.cs
- PatternMatcher.cs
- Viewport3DAutomationPeer.cs
- XPathAxisIterator.cs
- RecognizerStateChangedEventArgs.cs
- SystemException.cs
- Point4D.cs
- XmlWriterTraceListener.cs
- Task.cs
- TextCompositionEventArgs.cs
- EntityClassGenerator.cs
- XmlQualifiedNameTest.cs
- PnrpPermission.cs
- LocationEnvironment.cs
- ScriptReferenceEventArgs.cs
- TextRangeEdit.cs
- WSSecureConversationDec2005.cs
- UpdatableWrapper.cs
- Keywords.cs
- NamespaceInfo.cs
- RelationshipNavigation.cs
- Point3DValueSerializer.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- HttpModulesSection.cs
- TemplateControlParser.cs
- ReadOnlyAttribute.cs
- DbConnectionPoolGroupProviderInfo.cs
- ContainerAction.cs
- HttpRuntimeSection.cs
- CustomErrorsSectionWrapper.cs
- VersionedStream.cs
- ExpressionBindingCollection.cs
- ProcessHostServerConfig.cs
- HMACSHA1.cs
- ControlTemplate.cs
- DataGridViewTextBoxColumn.cs
- EventTrigger.cs
- DbProviderServices.cs
- TableAdapterManagerNameHandler.cs
- NotifyInputEventArgs.cs
- SpellCheck.cs