// 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
{
///
/// Gets the type of the delegate used by the CallSite />.
///
Type DelegateType { get; }
///
/// 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.
///
Expression Rewrite(Expression[] args);
///
/// Creates a CallSite for the node.
///
object CreateCallSite();
}
}
#endif