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
- __ComObject.cs
- ErrorWrapper.cs
- HtmlElementCollection.cs
- RenamedEventArgs.cs
- UrlPath.cs
- ProtocolElement.cs
- KeyEvent.cs
- AssociativeAggregationOperator.cs
- StructuralCache.cs
- BinaryMethodMessage.cs
- CodeNamespaceImport.cs
- Filter.cs
- SafeRightsManagementQueryHandle.cs
- ClassHandlersStore.cs
- DrawingGroupDrawingContext.cs
- MethodCallTranslator.cs
- SafeNativeMethods.cs
- TextServicesHost.cs
- ConfigurationPermission.cs
- AppDomainProtocolHandler.cs
- LogExtent.cs
- SqlDataSourceFilteringEventArgs.cs
- CompilationRelaxations.cs
- Roles.cs
- Missing.cs
- CopyOfAction.cs
- WebBrowserHelper.cs
- IListConverters.cs
- ProjectionPlanCompiler.cs
- RepeatButton.cs
- QueryOperator.cs
- updatecommandorderer.cs
- MetadataItem_Static.cs
- Exception.cs
- WebPartCatalogAddVerb.cs
- Image.cs
- ProcessThread.cs
- RegisteredHiddenField.cs
- XmlSchemaChoice.cs
- MetadataPropertyCollection.cs
- HttpCacheParams.cs
- BitSet.cs
- KeyValuePairs.cs
- UnsafeNativeMethods.cs
- ClientConfigurationSystem.cs
- CreateUserErrorEventArgs.cs
- FontConverter.cs
- OleDbError.cs
- TemplateBindingExpression.cs
- _SSPIWrapper.cs
- PersonalizationEntry.cs
- basecomparevalidator.cs
- ManipulationDelta.cs
- ControlCollection.cs
- OAVariantLib.cs
- WindowsRegion.cs
- NumberSubstitution.cs
- XPathNavigatorReader.cs
- Int64AnimationBase.cs
- IdleTimeoutMonitor.cs
- DataGridViewDataConnection.cs
- AliasedSlot.cs
- UserUseLicenseDictionaryLoader.cs
- QueryOptionExpression.cs
- ContextMenuStrip.cs
- DataGridPagerStyle.cs
- SelectionRangeConverter.cs
- TextBoxRenderer.cs
- DeclaredTypeElement.cs
- ParallelRangeManager.cs
- _Events.cs
- LogAppendAsyncResult.cs
- AggregateException.cs
- KnownColorTable.cs
- HtmlForm.cs
- EUCJPEncoding.cs
- SHA256Cng.cs
- SystemKeyConverter.cs
- GridViewRowEventArgs.cs
- DataGridCommandEventArgs.cs
- ContextProperty.cs
- IssuedSecurityTokenProvider.cs
- DbMetaDataColumnNames.cs
- HttpModuleAction.cs
- ButtonBase.cs
- WCFBuildProvider.cs
- GridViewRow.cs
- PropertyTab.cs
- BuilderInfo.cs
- Win32SafeHandles.cs
- AutomationEvent.cs
- XmlSchemaInclude.cs
- DataGridViewDataErrorEventArgs.cs
- WebConfigManager.cs
- IndentedTextWriter.cs
- SafeNativeMethods.cs
- SiteMapNode.cs
- InvalidContentTypeException.cs
- AtomMaterializerLog.cs
- SessionStateUtil.cs