Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

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);
}
}
}