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
- SerializationAttributes.cs
- ProvidersHelper.cs
- DataContractSet.cs
- KeyNameIdentifierClause.cs
- BrushMappingModeValidation.cs
- HiddenField.cs
- StreamMarshaler.cs
- MethodImplAttribute.cs
- DataGridViewTextBoxEditingControl.cs
- UInt16.cs
- DelegateHelpers.Generated.cs
- InstanceCreationEditor.cs
- ReadOnlyDictionary.cs
- QilStrConcatenator.cs
- UdpDuplexChannel.cs
- SuppressMessageAttribute.cs
- DbConnectionPoolGroupProviderInfo.cs
- Math.cs
- NestPullup.cs
- HexParser.cs
- SwitchElementsCollection.cs
- UserUseLicenseDictionaryLoader.cs
- ExpressionHelper.cs
- ExpressionBuilderCollection.cs
- TailPinnedEventArgs.cs
- XpsException.cs
- FrameworkElement.cs
- InputGestureCollection.cs
- ParentUndoUnit.cs
- PresentationTraceSources.cs
- ClipboardProcessor.cs
- BinaryMethodMessage.cs
- ComboBoxHelper.cs
- DataGridState.cs
- RouteParametersHelper.cs
- RtfToXamlLexer.cs
- BrowserDefinition.cs
- DocumentPageViewAutomationPeer.cs
- TextTreeDeleteContentUndoUnit.cs
- AnnotationDocumentPaginator.cs
- Membership.cs
- XmlCharCheckingReader.cs
- Baml2006KnownTypes.cs
- CheckoutException.cs
- ProgressBarBrushConverter.cs
- TextChange.cs
- BitmapPalette.cs
- ResourceContainer.cs
- QilPatternFactory.cs
- BitmapMetadataBlob.cs
- Calendar.cs
- SamlAction.cs
- ToolStripItemBehavior.cs
- CustomErrorsSection.cs
- WebHttpDispatchOperationSelector.cs
- MatrixIndependentAnimationStorage.cs
- UInt32Converter.cs
- ExpressionCopier.cs
- IssuedTokenParametersElement.cs
- SuppressIldasmAttribute.cs
- WindowsIdentity.cs
- DataServiceExpressionVisitor.cs
- SimpleWorkerRequest.cs
- BitmapEffectGeneralTransform.cs
- RuntimeCompatibilityAttribute.cs
- XsltSettings.cs
- SystemDropShadowChrome.cs
- BamlRecords.cs
- PersonalizationProvider.cs
- ServiceElement.cs
- SafeNativeMethods.cs
- WinFormsComponentEditor.cs
- NativeCppClassAttribute.cs
- ExceptionHelpers.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- EpmTargetPathSegment.cs
- SRef.cs
- GenericNameHandler.cs
- VisualBrush.cs
- APCustomTypeDescriptor.cs
- UserNameServiceElement.cs
- FixedPageStructure.cs
- ValidationHelpers.cs
- ProcessManager.cs
- VectorAnimation.cs
- HttpBrowserCapabilitiesBase.cs
- TableLayout.cs
- TimeEnumHelper.cs
- FixUp.cs
- MailWebEventProvider.cs
- MimeMapping.cs
- SimpleTextLine.cs
- FullTextBreakpoint.cs
- MDIControlStrip.cs
- Utils.cs
- TCPClient.cs
- RangeValidator.cs
- StyleSheetComponentEditor.cs
- xamlnodes.cs
- DBCSCodePageEncoding.cs