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
- CodeDirectionExpression.cs
- DodSequenceMerge.cs
- Util.cs
- SupportingTokenDuplexChannel.cs
- Int32KeyFrameCollection.cs
- ELinqQueryState.cs
- ContentOperations.cs
- EntityStoreSchemaFilterEntry.cs
- PriorityBinding.cs
- XmlRawWriter.cs
- ScrollBarAutomationPeer.cs
- Interlocked.cs
- GuidTagList.cs
- DataGridViewIntLinkedList.cs
- BinaryConverter.cs
- EmbossBitmapEffect.cs
- GridViewPageEventArgs.cs
- XPathMessageContext.cs
- DataServiceConfiguration.cs
- TextServicesLoader.cs
- ExtendedPropertyInfo.cs
- XmlSchemaImport.cs
- XPathNodeInfoAtom.cs
- AdPostCacheSubstitution.cs
- MinMaxParagraphWidth.cs
- MembershipSection.cs
- HostedElements.cs
- LightweightEntityWrapper.cs
- VirtualPath.cs
- Geometry3D.cs
- DataServiceQueryOfT.cs
- UInt16Storage.cs
- AssignDesigner.xaml.cs
- DataGridLinkButton.cs
- RepeaterCommandEventArgs.cs
- InvalidPrinterException.cs
- SourceFileBuildProvider.cs
- GeometryCombineModeValidation.cs
- IdnMapping.cs
- ActionItem.cs
- TheQuery.cs
- WebServiceErrorEvent.cs
- ArrayList.cs
- PiiTraceSource.cs
- TextRangeAdaptor.cs
- HtmlTextArea.cs
- PtsHelper.cs
- FormClosedEvent.cs
- CategoryState.cs
- DerivedKeySecurityToken.cs
- DataColumnPropertyDescriptor.cs
- ToolStripMenuItem.cs
- HttpDebugHandler.cs
- SharedStatics.cs
- EntityDataSourceChangedEventArgs.cs
- HMAC.cs
- ClrPerspective.cs
- HtmlToClrEventProxy.cs
- XmlSchemaAll.cs
- FileResponseElement.cs
- SerialReceived.cs
- CodeLinePragma.cs
- ItemType.cs
- PrintPageEvent.cs
- TypeElement.cs
- BackgroundWorker.cs
- Span.cs
- _Rfc2616CacheValidators.cs
- Comparer.cs
- BindStream.cs
- WindowsAuthenticationEventArgs.cs
- InstallerTypeAttribute.cs
- DataGridViewAddColumnDialog.cs
- PaperSize.cs
- QuaternionValueSerializer.cs
- ActiveXContainer.cs
- wpf-etw.cs
- EventManager.cs
- TextElementEnumerator.cs
- Vector3DCollectionValueSerializer.cs
- MatrixTransform.cs
- CodeConditionStatement.cs
- TripleDES.cs
- BaseCAMarshaler.cs
- DecimalConverter.cs
- StreamAsIStream.cs
- QueryCursorEventArgs.cs
- APCustomTypeDescriptor.cs
- DataObjectEventArgs.cs
- BaseCAMarshaler.cs
- AccessDataSource.cs
- ComponentCollection.cs
- versioninfo.cs
- OrthographicCamera.cs
- EventWaitHandle.cs
- ListContractAdapter.cs
- MimePart.cs
- regiisutil.cs
- ErrorInfoXmlDocument.cs
- KnowledgeBase.cs