e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
//-----------------------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
namespace System.Activities
|
|
{
|
|
using System.Collections.Generic;
|
|
using System.Runtime;
|
|
|
|
// This wrapper is used to make our "new Expression" and "new Default" APIs
|
|
// work correctly even if the expression set on the base class doesn't
|
|
// match. We'll log the error at cache metadata time.
|
|
class ActivityWithResultWrapper<T> : CodeActivity<T>, Argument.IExpressionWrapper
|
|
{
|
|
ActivityWithResult expression;
|
|
|
|
public ActivityWithResultWrapper(ActivityWithResult expression)
|
|
{
|
|
this.expression = expression;
|
|
}
|
|
|
|
ActivityWithResult Argument.IExpressionWrapper.InnerExpression
|
|
{
|
|
get
|
|
{
|
|
return this.expression;
|
|
}
|
|
}
|
|
|
|
protected override void CacheMetadata(CodeActivityMetadata metadata)
|
|
{
|
|
// If we've gotten here then argument validation has already
|
|
// logged a validation error.
|
|
}
|
|
|
|
protected override T Execute(CodeActivityContext context)
|
|
{
|
|
Fx.Assert("We'll never get here!");
|
|
|
|
return default(T);
|
|
}
|
|
}
|
|
}
|