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
- SymmetricKeyWrap.cs
- CapabilitiesSection.cs
- DataBindingList.cs
- ConstraintConverter.cs
- ItemAutomationPeer.cs
- ResourceWriter.cs
- CollectionViewGroupInternal.cs
- ImageFormat.cs
- SafeNativeMethods.cs
- ArraySortHelper.cs
- CommonObjectSecurity.cs
- AppDomainUnloadedException.cs
- shaper.cs
- UInt16.cs
- ActivityBindForm.cs
- TemplateXamlParser.cs
- Model3DGroup.cs
- View.cs
- AssemblyCache.cs
- DefaultHttpHandler.cs
- PathGeometry.cs
- EmptyReadOnlyDictionaryInternal.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- MetadataUtilsSmi.cs
- BuildResult.cs
- CorrelationManager.cs
- TimeZone.cs
- WinInetCache.cs
- UriTemplateTrieLocation.cs
- Int32Storage.cs
- ClipboardProcessor.cs
- SqlIdentifier.cs
- ServiceSecurityAuditElement.cs
- AttachmentCollection.cs
- TabControlCancelEvent.cs
- PropertyInformation.cs
- ExpandedWrapper.cs
- XpsColorContext.cs
- RightsManagementLicense.cs
- Enum.cs
- DataGridHelper.cs
- CodeObject.cs
- PrimitiveDataContract.cs
- FtpWebRequest.cs
- CellIdBoolean.cs
- BackgroundFormatInfo.cs
- FormattedTextSymbols.cs
- SyndicationElementExtension.cs
- DiagnosticsConfiguration.cs
- NonVisualControlAttribute.cs
- __TransparentProxy.cs
- Span.cs
- XAMLParseException.cs
- HttpListenerPrefixCollection.cs
- Evidence.cs
- DriveNotFoundException.cs
- SettingsAttributes.cs
- DefaultValueConverter.cs
- xml.cs
- SettingsAttributes.cs
- GeometryGroup.cs
- AuthorizationRuleCollection.cs
- SecurityException.cs
- DropShadowEffect.cs
- SelectingProviderEventArgs.cs
- CompositeActivityTypeDescriptor.cs
- ObservableDictionary.cs
- RealProxy.cs
- PtsContext.cs
- PrintControllerWithStatusDialog.cs
- IBuiltInEvidence.cs
- EventHandlersStore.cs
- GridViewDeleteEventArgs.cs
- NameNode.cs
- MimePart.cs
- NativeBuffer.cs
- ClientRolePrincipal.cs
- DataServicePagingProviderWrapper.cs
- CompositeFontFamily.cs
- SectionInformation.cs
- TraceUtility.cs
- WindowsIdentity.cs
- XmlConverter.cs
- RNGCryptoServiceProvider.cs
- ArgumentNullException.cs
- OracleBFile.cs
- MailHeaderInfo.cs
- ToolStripSeparatorRenderEventArgs.cs
- StrokeNodeData.cs
- HyperLinkStyle.cs
- RequestCache.cs
- ArrangedElementCollection.cs
- RangeBase.cs
- DownloadProgressEventArgs.cs
- SecurityHeaderElementInferenceEngine.cs
- TimerTable.cs
- DocumentPageTextView.cs
- XsltLoader.cs
- RawKeyboardInputReport.cs
- PersonalizationProvider.cs