You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
982 B
28 lines
982 B
5 years ago
|
// Copyright (c) Microsoft. All rights reserved.
|
||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||
|
#if !NET_4_6
|
||
|
namespace System.Linq.Expressions.Reimplement
|
||
|
{
|
||
|
public interface IDynamicExpression : IArgumentProvider
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Gets the type of the delegate used by the CallSite />.
|
||
|
/// </summary>
|
||
|
Type DelegateType { get; }
|
||
|
|
||
|
/// <summary>
|
||
|
/// Rewrite this node replacing the args with the provided values. The
|
||
|
/// number of the args needs to match the number of the current block.
|
||
|
///
|
||
|
/// This helper is provided to allow re-writing of nodes to not depend on the specific
|
||
|
/// class of DynamicExpression which is being used.
|
||
|
/// </summary>
|
||
|
Expression Rewrite(Expression[] args);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Creates a CallSite for the node.
|
||
|
/// </summary>
|
||
|
object CreateCallSite();
|
||
|
}
|
||
|
}
|
||
|
#endif
|