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
- ConfigurationSectionGroup.cs
- XmlNullResolver.cs
- LineServices.cs
- ToolBarButtonDesigner.cs
- EmptyStringExpandableObjectConverter.cs
- FastEncoderWindow.cs
- Material.cs
- OutOfMemoryException.cs
- UnmanagedMemoryStream.cs
- ZipIOExtraFieldElement.cs
- TCPListener.cs
- UnmanagedHandle.cs
- SingleTagSectionHandler.cs
- RootBuilder.cs
- EncoderNLS.cs
- RSAPKCS1KeyExchangeFormatter.cs
- DesignerVerbCollection.cs
- CalendarItem.cs
- Visitors.cs
- MessageVersionConverter.cs
- WindowsListViewGroupSubsetLink.cs
- SignatureHelper.cs
- SoapAttributeOverrides.cs
- ProfileSection.cs
- CancelAsyncOperationRequest.cs
- VariantWrapper.cs
- MailAddressCollection.cs
- ReadWriteObjectLock.cs
- DataServices.cs
- ClosableStream.cs
- XsltException.cs
- BlockingCollection.cs
- SharedStatics.cs
- StringValueSerializer.cs
- Pens.cs
- TableCellCollection.cs
- WebPartCollection.cs
- ToolStripLabel.cs
- SqlOuterApplyReducer.cs
- SqlNodeTypeOperators.cs
- mediaclock.cs
- InvalidEnumArgumentException.cs
- Expression.cs
- WindowsTokenRoleProvider.cs
- Group.cs
- PersonalizableAttribute.cs
- MimeBasePart.cs
- AvtEvent.cs
- ObjectStateFormatter.cs
- ContextItem.cs
- ValueExpressions.cs
- CheckBox.cs
- SqlDataSourceQuery.cs
- StringWriter.cs
- SingleSelectRootGridEntry.cs
- HTMLTagNameToTypeMapper.cs
- TargetInvocationException.cs
- TextElement.cs
- HierarchicalDataSourceIDConverter.cs
- AttributeQuery.cs
- SourceInterpreter.cs
- Pkcs7Recipient.cs
- StateFinalizationActivity.cs
- TextStore.cs
- Rotation3D.cs
- DateRangeEvent.cs
- SqlUtils.cs
- StorageAssociationSetMapping.cs
- NewArray.cs
- PrintPageEvent.cs
- VectorCollectionConverter.cs
- DataViewSettingCollection.cs
- Int64AnimationBase.cs
- DecimalConstantAttribute.cs
- SelectionList.cs
- BitmapCache.cs
- NativeMethods.cs
- XsltInput.cs
- DeviceSpecificDesigner.cs
- UIElement.cs
- DbConnectionHelper.cs
- SqlServer2KCompatibilityCheck.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- DynamicDiscoSearcher.cs
- RedBlackList.cs
- BCryptSafeHandles.cs
- ActiveDocumentEvent.cs
- WindowsTooltip.cs
- AnnouncementService.cs
- EventLogReader.cs
- MachineKey.cs
- FontStretches.cs
- NetStream.cs
- WmpBitmapDecoder.cs
- XmlBinaryReader.cs
- CorrelationActionMessageFilter.cs
- Mouse.cs
- Latin1Encoding.cs
- TraceLog.cs
- DocobjHost.cs