//----------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities { public abstract class DelegateInArgument : DelegateArgument { internal DelegateInArgument() : base() { this.Direction = ArgumentDirection.In; } } public sealed class DelegateInArgument : DelegateInArgument { public DelegateInArgument() : base() { } public DelegateInArgument(string name) : base() { this.Name = name; } protected override Type TypeCore { get { return typeof(T); } } // Soft-Link: This method is referenced through reflection by // ExpressionUtilities.TryRewriteLambdaExpression. Update that // file if the signature changes. public new T Get(ActivityContext context) { if (context == null) { throw FxTrace.Exception.ArgumentNull("context"); } return context.GetValue((LocationReference)this); } public void Set(ActivityContext context, T value) { if (context == null) { throw FxTrace.Exception.ArgumentNull("context"); } context.SetValue((LocationReference)this, value); } internal override Location CreateLocation() { return new Location(); } } }