Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / VariableReference.cs / 1305376 / VariableReference.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Expressions { using System.Linq.Expressions; using System.Runtime; public sealed class VariableReference: CodeActivity >, IExpressionContainer { public VariableReference() : base() { } public VariableReference(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 )) { 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)); } if (VariableModifiersHelper.IsReadOnly(Variable.Modifiers)) { metadata.AddValidationError(SR.VariableIsReadOnly(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 Location value) { try { context.AllowChainedEnvironmentAccess = true; value = context.GetLocation (this.Variable); } finally { context.AllowChainedEnvironmentAccess = false; } return true; } protected override Location 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
- CatalogZone.cs
- DataServiceQueryContinuation.cs
- ProfilePropertySettingsCollection.cs
- XmlImplementation.cs
- DataListCommandEventArgs.cs
- DataObject.cs
- ToolboxItemAttribute.cs
- AudioLevelUpdatedEventArgs.cs
- SQLGuidStorage.cs
- SortFieldComparer.cs
- DataTableMappingCollection.cs
- VisualBrush.cs
- TypedTableBaseExtensions.cs
- PartialClassGenerationTask.cs
- XmlSchemaDatatype.cs
- MsmqIntegrationBinding.cs
- metadatamappinghashervisitor.cs
- AbstractDataSvcMapFileLoader.cs
- LineGeometry.cs
- ReferenceAssemblyAttribute.cs
- CompositeScriptReference.cs
- HandoffBehavior.cs
- TextBoxAutoCompleteSourceConverter.cs
- DropDownButton.cs
- ApplicationProxyInternal.cs
- DataBindEngine.cs
- DataGridViewRowPostPaintEventArgs.cs
- SqlVersion.cs
- ScrollChrome.cs
- ModelTypeConverter.cs
- QueueProcessor.cs
- HtmlButton.cs
- MonthChangedEventArgs.cs
- BrowserCapabilitiesFactory35.cs
- FontFamilyIdentifier.cs
- BeginEvent.cs
- WaitHandle.cs
- Control.cs
- Brushes.cs
- InvalidEnumArgumentException.cs
- ImageDrawing.cs
- ServiceModelStringsVersion1.cs
- MissingMemberException.cs
- HostVisual.cs
- BlurBitmapEffect.cs
- TextContainerChangedEventArgs.cs
- SqlDataSourceConfigureFilterForm.cs
- SHA1Managed.cs
- Imaging.cs
- Regex.cs
- XmlSiteMapProvider.cs
- DispatcherExceptionEventArgs.cs
- ClientSettings.cs
- DESCryptoServiceProvider.cs
- ToolBarDesigner.cs
- ExpressionBuilder.cs
- SpAudioStreamWrapper.cs
- XmlTextReaderImplHelpers.cs
- ButtonPopupAdapter.cs
- ExceptionValidationRule.cs
- SapiRecoContext.cs
- DataGridViewCell.cs
- PropertyGroupDescription.cs
- Italic.cs
- LinkConverter.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- documentsequencetextcontainer.cs
- WMICapabilities.cs
- DispatchWrapper.cs
- Mapping.cs
- SQLBinary.cs
- TemplatedAdorner.cs
- CatalogZoneBase.cs
- SortDescription.cs
- DataViewManager.cs
- ApplicationInfo.cs
- OleServicesContext.cs
- SerializationInfo.cs
- SocketCache.cs
- Constants.cs
- Reference.cs
- DesignerVerb.cs
- StyleXamlParser.cs
- ToolStripDesignerUtils.cs
- XamlUtilities.cs
- ToolboxCategory.cs
- TextDecorationCollection.cs
- XPathMessageFilterElement.cs
- BitmapEffectInputData.cs
- Vector3dCollection.cs
- DataBoundControlAdapter.cs
- ClientProxyGenerator.cs
- WSSecurityTokenSerializer.cs
- QueuedDeliveryRequirementsMode.cs
- PartitionResolver.cs
- DecimalAnimationUsingKeyFrames.cs
- SingleKeyFrameCollection.cs
- TemplateBindingExpressionConverter.cs
- WebReferencesBuildProvider.cs
- MaskDesignerDialog.cs