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
- PrincipalPermission.cs
- GridViewEditEventArgs.cs
- Model3DCollection.cs
- EdmValidator.cs
- ProtocolsSection.cs
- CompositeDataBoundControl.cs
- CleanUpVirtualizedItemEventArgs.cs
- ExpressionServices.cs
- Figure.cs
- DataControlField.cs
- GridItemPatternIdentifiers.cs
- ValidationEventArgs.cs
- TypeSystem.cs
- PowerModeChangedEventArgs.cs
- SmtpFailedRecipientException.cs
- XmlSignatureProperties.cs
- ConfigurationSettings.cs
- ListCardsInFileRequest.cs
- Attributes.cs
- ObjectQuery_EntitySqlExtensions.cs
- IisTraceListener.cs
- HttpResponse.cs
- UidPropertyAttribute.cs
- IListConverters.cs
- IPipelineRuntime.cs
- InstanceOwnerException.cs
- MessagePropertyDescription.cs
- SmiMetaDataProperty.cs
- XmlElementAttribute.cs
- sqlnorm.cs
- IISMapPath.cs
- ExternalCalls.cs
- DiscoveryClientChannelBase.cs
- ValidationHelper.cs
- ReferentialConstraint.cs
- SiteOfOriginContainer.cs
- PointCollectionValueSerializer.cs
- ResizeBehavior.cs
- CategoryGridEntry.cs
- OdbcDataReader.cs
- BitmapEffectOutputConnector.cs
- DataTableMappingCollection.cs
- PrintControllerWithStatusDialog.cs
- MemberCollection.cs
- TrailingSpaceComparer.cs
- AspNetSynchronizationContext.cs
- CodeDomConfigurationHandler.cs
- RowTypeElement.cs
- ValidationSummary.cs
- SqlNodeTypeOperators.cs
- DesignerOptionService.cs
- MdiWindowListItemConverter.cs
- JsonEnumDataContract.cs
- ListBindableAttribute.cs
- StringToken.cs
- ChunkedMemoryStream.cs
- AutomationElement.cs
- SchemaSetCompiler.cs
- Errors.cs
- AttachInfo.cs
- MainMenu.cs
- SqlMethodTransformer.cs
- Dynamic.cs
- DesignerDataTable.cs
- ToolStripDropDown.cs
- StringCollectionMarkupSerializer.cs
- DecoderReplacementFallback.cs
- CheckBoxFlatAdapter.cs
- BaseCollection.cs
- PriorityItem.cs
- ProcessStartInfo.cs
- ObjectStateManager.cs
- EndpointReference.cs
- ProfileEventArgs.cs
- basevalidator.cs
- MobileComponentEditorPage.cs
- BitmapEffectDrawing.cs
- OrderedHashRepartitionEnumerator.cs
- ArraySegment.cs
- XmlAttributeHolder.cs
- Timer.cs
- PlatformCulture.cs
- URLIdentityPermission.cs
- DropTarget.cs
- WebPartTransformerAttribute.cs
- XmlILStorageConverter.cs
- OleDbInfoMessageEvent.cs
- Command.cs
- ExpressionBuilder.cs
- OperationFormatStyle.cs
- CqlWriter.cs
- ServiceNotStartedException.cs
- OdbcConnection.cs
- ListItemCollection.cs
- Misc.cs
- ControlParameter.cs
- AnonymousIdentificationModule.cs
- TextElementCollectionHelper.cs
- FamilyMapCollection.cs
- MenuItem.cs