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
- TdsParserSafeHandles.cs
- CultureTable.cs
- ExpandableObjectConverter.cs
- ExpandCollapsePattern.cs
- WebPartConnectionsCancelVerb.cs
- XsltQilFactory.cs
- SemanticBasicElement.cs
- _TLSstream.cs
- ManifestSignatureInformation.cs
- TimeManager.cs
- Deflater.cs
- OleDbReferenceCollection.cs
- LineGeometry.cs
- Stack.cs
- TypeSystem.cs
- PeerServiceMessageContracts.cs
- SafeCloseHandleCritical.cs
- OrderablePartitioner.cs
- UnsafeNativeMethodsTablet.cs
- Canvas.cs
- SharedDp.cs
- ByteBufferPool.cs
- GridViewColumnHeader.cs
- DataColumnMappingCollection.cs
- NumberFunctions.cs
- InfoCardAsymmetricCrypto.cs
- WebPartDisplayModeCancelEventArgs.cs
- MetadataArtifactLoader.cs
- WeakEventManager.cs
- QueryCursorEventArgs.cs
- CodeObject.cs
- ContainerSelectorBehavior.cs
- CqlWriter.cs
- HttpHandlerAction.cs
- CodeComment.cs
- SQLInt32.cs
- ResourceCategoryAttribute.cs
- WindowsScrollBarBits.cs
- CorrelationQueryBehavior.cs
- webbrowsersite.cs
- PnrpPermission.cs
- RowParagraph.cs
- XmlFormatReaderGenerator.cs
- UnSafeCharBuffer.cs
- PageStatePersister.cs
- Transaction.cs
- Converter.cs
- smtpconnection.cs
- ProjectedSlot.cs
- ChtmlTextWriter.cs
- GridViewDesigner.cs
- smtpconnection.cs
- TimelineGroup.cs
- BlobPersonalizationState.cs
- WebPartHelpVerb.cs
- HttpRequestTraceRecord.cs
- IntAverageAggregationOperator.cs
- OneOfScalarConst.cs
- Missing.cs
- ConstructorBuilder.cs
- DiagnosticsConfigurationHandler.cs
- EntityContainerAssociationSet.cs
- XamlPointCollectionSerializer.cs
- ConfigurationManagerHelper.cs
- ProjectionNode.cs
- PathGeometry.cs
- TextServicesContext.cs
- TagPrefixInfo.cs
- TreeView.cs
- RealProxy.cs
- HeaderedContentControl.cs
- RelationshipConverter.cs
- XmlSerializerObjectSerializer.cs
- ChildChangedEventArgs.cs
- RectAnimationBase.cs
- XmlSchemaExternal.cs
- IsolatedStorage.cs
- IteratorFilter.cs
- FontFamily.cs
- FieldTemplateFactory.cs
- EmptyImpersonationContext.cs
- UpdateExpressionVisitor.cs
- ResourceCategoryAttribute.cs
- ResponseStream.cs
- RepeaterCommandEventArgs.cs
- RectangleGeometry.cs
- DictionaryContent.cs
- ValidationRuleCollection.cs
- ResolveNameEventArgs.cs
- FrameworkReadOnlyPropertyMetadata.cs
- LinqDataSourceInsertEventArgs.cs
- XPathParser.cs
- CompilerError.cs
- ScalarConstant.cs
- ListParaClient.cs
- DataGridRowEventArgs.cs
- MULTI_QI.cs
- Int16Storage.cs
- AuthenticationException.cs
- EventSinkHelperWriter.cs