You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@ -0,0 +1,82 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace Microsoft.CSharp.Activities
|
||||
{
|
||||
using System;
|
||||
using System.Activities;
|
||||
using System.Activities.Expressions;
|
||||
using System.Activities.XamlIntegration;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq.Expressions;
|
||||
using System.Windows.Markup;
|
||||
|
||||
[DebuggerStepThrough]
|
||||
[ContentProperty("ExpressionText")]
|
||||
public class CSharpReference<TResult> : CodeActivity<Location<TResult>>, ITextExpression
|
||||
{
|
||||
CompiledExpressionInvoker invoker;
|
||||
|
||||
public CSharpReference()
|
||||
{
|
||||
this.UseOldFastPath = true;
|
||||
}
|
||||
|
||||
public CSharpReference(string expressionText) :
|
||||
this()
|
||||
{
|
||||
this.ExpressionText = expressionText;
|
||||
}
|
||||
|
||||
public string ExpressionText
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
|
||||
public string Language
|
||||
{
|
||||
get
|
||||
{
|
||||
return "C#";
|
||||
}
|
||||
}
|
||||
|
||||
public bool RequiresCompilation
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void CacheMetadata(CodeActivityMetadata metadata)
|
||||
{
|
||||
this.invoker = new CompiledExpressionInvoker(this, true, metadata);
|
||||
}
|
||||
|
||||
protected override Location<TResult> Execute(CodeActivityContext context)
|
||||
{
|
||||
Location<TResult> value = (Location<TResult>)this.invoker.InvokeExpression(context);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
public Expression GetExpressionTree()
|
||||
{
|
||||
if (this.IsMetadataCached)
|
||||
{
|
||||
return this.invoker.GetExpressionTree();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw FxTrace.Exception.AsError(new InvalidOperationException(SR.ActivityIsUncached));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user