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
- MenuItem.cs
- CopyOnWriteList.cs
- MILUtilities.cs
- EventArgs.cs
- CultureMapper.cs
- VectorAnimationUsingKeyFrames.cs
- OpenFileDialog.cs
- SecurityKeyIdentifier.cs
- ErrorHandlingReceiver.cs
- Transform3D.cs
- DictionaryKeyPropertyAttribute.cs
- InvalidateEvent.cs
- JournalEntryStack.cs
- ComponentEditorPage.cs
- Overlapped.cs
- EntityDataReader.cs
- TextTreeRootTextBlock.cs
- CodeSnippetExpression.cs
- BamlTreeMap.cs
- InternalConfigSettingsFactory.cs
- GeneralTransformCollection.cs
- Span.cs
- BaseDataBoundControl.cs
- SizeIndependentAnimationStorage.cs
- FillErrorEventArgs.cs
- OAVariantLib.cs
- RuntimeConfigurationRecord.cs
- CodeSnippetTypeMember.cs
- SqlVisitor.cs
- SqlMethodCallConverter.cs
- RequestQueue.cs
- nulltextcontainer.cs
- XmlTextReaderImpl.cs
- ToolStripControlHost.cs
- TableLayoutRowStyleCollection.cs
- SimpleFieldTemplateUserControl.cs
- ResourcesBuildProvider.cs
- HostingEnvironmentWrapper.cs
- ToolStripPanelRow.cs
- PathParser.cs
- FileDialogPermission.cs
- CellTreeNodeVisitors.cs
- QueryStringParameter.cs
- ChineseLunisolarCalendar.cs
- ScrollViewerAutomationPeer.cs
- ResolvedKeyFrameEntry.cs
- InternalCache.cs
- wgx_sdk_version.cs
- DependencyPropertyKind.cs
- SystemIcons.cs
- GridViewRow.cs
- AvTraceFormat.cs
- FrugalMap.cs
- GridViewCellAutomationPeer.cs
- KeyInterop.cs
- WebErrorHandler.cs
- NameObjectCollectionBase.cs
- DataGridRowAutomationPeer.cs
- UnicodeEncoding.cs
- _NTAuthentication.cs
- BrowserCapabilitiesFactory.cs
- XmlDocumentFragment.cs
- SqlDataRecord.cs
- EventListener.cs
- RegexGroupCollection.cs
- ToolboxItemAttribute.cs
- AvTrace.cs
- TextElementEnumerator.cs
- SqlDataSourceSelectingEventArgs.cs
- InfiniteTimeSpanConverter.cs
- DataGridColumnCollection.cs
- WmfPlaceableFileHeader.cs
- EncoderParameters.cs
- NoneExcludedImageIndexConverter.cs
- ExpressionParser.cs
- DataGridViewLinkColumn.cs
- DoubleCollection.cs
- RegexMatchCollection.cs
- TreeNode.cs
- SynchronizationHandlesCodeDomSerializer.cs
- AnchoredBlock.cs
- StreamInfo.cs
- XmlSchemaProviderAttribute.cs
- NotFiniteNumberException.cs
- ReferenceConverter.cs
- BitmapEffectDrawingContextWalker.cs
- safex509handles.cs
- PageEventArgs.cs
- WebPartConnectionsConnectVerb.cs
- DesignerLoader.cs
- BrowserTree.cs
- AuthenticationService.cs
- Floater.cs
- SecurityHeaderLayout.cs
- ConnectionManagementElement.cs
- StreamWriter.cs
- InstanceData.cs
- MonitorWrapper.cs
- HttpValueCollection.cs
- TextDecorationCollection.cs