Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / ArgumentValue.cs / 1305376 / ArgumentValue.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Expressions { using System.Collections.Generic; using System.Linq.Expressions; using System.Runtime; using System.Windows.Markup; public sealed class ArgumentValue: CodeActivity { RuntimeArgument targetArgument; public ArgumentValue() { } public ArgumentValue(string argumentName) { this.ArgumentName = argumentName; } public string ArgumentName { get; set; } protected override void CacheMetadata(CodeActivityMetadata metadata) { this.targetArgument = null; if (string.IsNullOrEmpty(this.ArgumentName)) { metadata.AddValidationError(SR.ArgumentNameRequired); } else { this.targetArgument = ActivityUtilities.FindArgument(this.ArgumentName, this); if (this.targetArgument == null) { metadata.AddValidationError(SR.ArgumentNotFound(this.ArgumentName)); } else if (!TypeHelper.AreTypesCompatible(this.targetArgument.Type, typeof(T))) { metadata.AddValidationError(SR.ArgumentTypeMustBeCompatible(this.ArgumentName, this.targetArgument.Type, typeof(T))); } } } public override string ToString() { if (!string.IsNullOrEmpty(this.ArgumentName)) { return this.ArgumentName; } return base.ToString(); } internal override bool TryGetValue(ActivityContext context, out T value) { if (this.targetArgument == null) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.UnopenedActivitiesCannotBeExecuted(this.DisplayName))); } try { context.AllowChainedEnvironmentAccess = true; value = context.GetValue (this.targetArgument); } 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
- sqlstateclientmanager.cs
- ScriptReferenceBase.cs
- CodeGotoStatement.cs
- ModelChangedEventArgsImpl.cs
- OlePropertyStructs.cs
- DispatchWrapper.cs
- BaseValidatorDesigner.cs
- Point3D.cs
- ISAPIWorkerRequest.cs
- BasePattern.cs
- KeyedHashAlgorithm.cs
- KeyManager.cs
- Emitter.cs
- CodeCatchClause.cs
- CommandEventArgs.cs
- PersonalizationProviderHelper.cs
- ObjectReaderCompiler.cs
- PackWebRequest.cs
- NaturalLanguageHyphenator.cs
- XsltLoader.cs
- XamlLoadErrorInfo.cs
- TimeZone.cs
- DataControlFieldCollection.cs
- Privilege.cs
- PrintPreviewGraphics.cs
- BindUriHelper.cs
- SevenBitStream.cs
- PriorityChain.cs
- StrokeNode.cs
- SystemFonts.cs
- HttpRequestCacheValidator.cs
- ArraySegment.cs
- OleDbTransaction.cs
- DeferredElementTreeState.cs
- SchemaContext.cs
- ActivityExecutorDelegateInfo.cs
- SqlTrackingService.cs
- RootNamespaceAttribute.cs
- ItemsControl.cs
- CounterSet.cs
- DesignerActionService.cs
- SQLDateTimeStorage.cs
- ProxyHelper.cs
- MimeImporter.cs
- PersonalizationAdministration.cs
- ExceptionUtil.cs
- NegatedCellConstant.cs
- GetIndexBinder.cs
- typedescriptorpermission.cs
- ImageAnimator.cs
- AbsoluteQuery.cs
- AccessViolationException.cs
- UnionExpr.cs
- UiaCoreProviderApi.cs
- Visual3D.cs
- WindowsFormsHelpers.cs
- FixedNode.cs
- Emitter.cs
- HtmlInputFile.cs
- DataGridCaption.cs
- WebBrowserProgressChangedEventHandler.cs
- CodeCatchClauseCollection.cs
- PeerIPHelper.cs
- Section.cs
- SQLString.cs
- PointLight.cs
- ValidationRuleCollection.cs
- StreamAsIStream.cs
- FixedSOMLineCollection.cs
- TextServicesPropertyRanges.cs
- Brushes.cs
- ValidatorCollection.cs
- columnmapfactory.cs
- _DisconnectOverlappedAsyncResult.cs
- VirtualDirectoryMappingCollection.cs
- DynamicAttribute.cs
- securitycriticaldataformultiplegetandset.cs
- XmlSchemaRedefine.cs
- DocumentXPathNavigator.cs
- DataControlImageButton.cs
- ProjectionCamera.cs
- FixUpCollection.cs
- InputScope.cs
- ClaimTypes.cs
- UdpReplyToBehavior.cs
- CacheChildrenQuery.cs
- Int16Storage.cs
- OleDbTransaction.cs
- XmlSchemaSimpleTypeList.cs
- StaticResourceExtension.cs
- ProfileSection.cs
- Scene3D.cs
- wmiprovider.cs
- PrivateFontCollection.cs
- TextComposition.cs
- AddressAccessDeniedException.cs
- FileIOPermission.cs
- TypefaceMap.cs
- SqlExpressionNullability.cs
- WebReferencesBuildProvider.cs