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
- PageStatePersister.cs
- embossbitmapeffect.cs
- DependsOnAttribute.cs
- JsonEnumDataContract.cs
- SizeChangedEventArgs.cs
- MenuStrip.cs
- DbConnectionStringBuilder.cs
- TextParaClient.cs
- ParallelEnumerable.cs
- WebBrowserProgressChangedEventHandler.cs
- PrinterSettings.cs
- RewritingPass.cs
- HttpHandler.cs
- InvalidFilterCriteriaException.cs
- ChannelReliableSession.cs
- GlyphRunDrawing.cs
- ProxyHelper.cs
- PropertyEntry.cs
- XmlImplementation.cs
- XhtmlBasicPanelAdapter.cs
- EventLogger.cs
- ListComponentEditorPage.cs
- XmlDataSourceNodeDescriptor.cs
- GifBitmapDecoder.cs
- StylusPointPropertyInfoDefaults.cs
- ParallelTimeline.cs
- OracleFactory.cs
- Stream.cs
- QueryOutputWriter.cs
- WindowsFormsHostPropertyMap.cs
- DownloadProgressEventArgs.cs
- ExclusiveCanonicalizationTransform.cs
- PrintPreviewControl.cs
- httpserverutility.cs
- Comparer.cs
- AuthStoreRoleProvider.cs
- UniqueEventHelper.cs
- SwitchCase.cs
- SafeRightsManagementSessionHandle.cs
- QueueProcessor.cs
- XmlEnumAttribute.cs
- MetadataWorkspace.cs
- ManualResetEvent.cs
- TextSerializer.cs
- SymmetricCryptoHandle.cs
- TCPClient.cs
- LazyTextWriterCreator.cs
- Descriptor.cs
- StringKeyFrameCollection.cs
- SchemaTypeEmitter.cs
- DataListCommandEventArgs.cs
- FormViewInsertedEventArgs.cs
- Axis.cs
- SeekStoryboard.cs
- ListSourceHelper.cs
- NativeStructs.cs
- Pkcs7Signer.cs
- TextEndOfLine.cs
- SizeConverter.cs
- HwndProxyElementProvider.cs
- DatagramAdapter.cs
- InstanceDescriptor.cs
- XhtmlStyleClass.cs
- ListenerElementsCollection.cs
- InternalConfigSettingsFactory.cs
- PowerStatus.cs
- EventLogPermissionAttribute.cs
- ProbeMatchesMessage11.cs
- VirtualPath.cs
- TemplateComponentConnector.cs
- CryptoApi.cs
- EntitySqlQueryCacheKey.cs
- DecimalAnimationBase.cs
- ToggleButton.cs
- DataGridViewSelectedColumnCollection.cs
- ModifierKeysConverter.cs
- JsonDataContract.cs
- HttpContextBase.cs
- PointAnimationBase.cs
- ComponentFactoryHelpers.cs
- Byte.cs
- ScriptingJsonSerializationSection.cs
- SqlClientPermission.cs
- DetailsViewInsertEventArgs.cs
- SmiMetaData.cs
- ConnectionPointCookie.cs
- NavigationHelper.cs
- SqlDataSourceFilteringEventArgs.cs
- _NegotiateClient.cs
- TypeConverter.cs
- TemplatedWizardStep.cs
- XmlObjectSerializerReadContextComplexJson.cs
- TextBoxLine.cs
- HttpRuntime.cs
- Application.cs
- StreamGeometry.cs
- DBCommand.cs
- TextViewBase.cs
- CompareInfo.cs
- NominalTypeEliminator.cs