e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
66 lines
1.7 KiB
C#
66 lines
1.7 KiB
C#
//-----------------------------------------------------------------------------
|
|
// 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<T> : 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<T>((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<T>();
|
|
}
|
|
}
|
|
}
|