Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00: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);
}
}
}