10 [DebuggerTypeProxy(typeof(DynamicExpressionProxy))]
11 [global::__DynamicallyInvokable]
16 private readonly
Type _delegateType;
20 [global::__DynamicallyInvokable]
23 [global::__DynamicallyInvokable]
26 return typeof(
object);
32 [global::__DynamicallyInvokable]
35 [global::__DynamicallyInvokable]
44 [global::__DynamicallyInvokable]
47 [global::__DynamicallyInvokable]
56 [global::__DynamicallyInvokable]
59 [global::__DynamicallyInvokable]
68 [global::__DynamicallyInvokable]
71 [global::__DynamicallyInvokable]
74 return GetOrMakeArguments();
80 [global::__DynamicallyInvokable]
83 [global::__DynamicallyInvokable]
86 throw ContractUtils.Unreachable;
92 _delegateType = delegateType;
98 if (returnType == typeof(
object))
100 return new DynamicExpressionN(delegateType, binder, arguments);
102 return new TypedDynamicExpressionN(returnType, delegateType, binder, arguments);
105 internal static DynamicExpression Make(
Type returnType,
Type delegateType,
CallSiteBinder binder, Expression arg0)
107 if (returnType == typeof(
object))
109 return new DynamicExpression1(delegateType, binder, arg0);
111 return new TypedDynamicExpression1(returnType, delegateType, binder, arg0);
114 internal static DynamicExpression Make(
Type returnType,
Type delegateType,
CallSiteBinder binder, Expression arg0, Expression arg1)
116 if (returnType == typeof(
object))
118 return new DynamicExpression2(delegateType, binder, arg0, arg1);
120 return new TypedDynamicExpression2(returnType, delegateType, binder, arg0, arg1);
123 internal static DynamicExpression Make(
Type returnType,
Type delegateType,
CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2)
125 if (returnType == typeof(
object))
127 return new DynamicExpression3(delegateType, binder, arg0, arg1, arg2);
129 return new TypedDynamicExpression3(returnType, delegateType, binder, arg0, arg1, arg2);
132 internal static DynamicExpression Make(
Type returnType,
Type delegateType,
CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2, Expression arg3)
134 if (returnType == typeof(
object))
136 return new DynamicExpression4(delegateType, binder, arg0, arg1, arg2, arg3);
138 return new TypedDynamicExpression4(returnType, delegateType, binder, arg0, arg1, arg2, arg3);
143 throw ContractUtils.Unreachable;
149 [global::__DynamicallyInvokable]
157 throw ContractUtils.Unreachable;
163 [global::__DynamicallyInvokable]
176 [global::__DynamicallyInvokable]
179 throw ContractUtils.Unreachable;
187 [global::__DynamicallyInvokable]
190 return Expression.Dynamic(binder, returnType, arguments);
198 [global::__DynamicallyInvokable]
201 return Expression.Dynamic(binder, returnType, arguments);
209 [global::__DynamicallyInvokable]
212 return Expression.Dynamic(binder, returnType, arg0);
221 [global::__DynamicallyInvokable]
224 return Expression.Dynamic(binder, returnType, arg0, arg1);
234 [global::__DynamicallyInvokable]
237 return Expression.Dynamic(binder, returnType, arg0, arg1, arg2);
248 [global::__DynamicallyInvokable]
251 return Expression.Dynamic(binder, returnType, arg0, arg1, arg2, arg3);
259 [global::__DynamicallyInvokable]
262 return Expression.MakeDynamic(delegateType, binder, arguments);
270 [global::__DynamicallyInvokable]
273 return Expression.MakeDynamic(delegateType, binder, arguments);
281 [global::__DynamicallyInvokable]
284 return Expression.MakeDynamic(delegateType, binder, arg0);
293 [global::__DynamicallyInvokable]
296 return Expression.MakeDynamic(delegateType, binder, arg0, arg1);
306 [global::__DynamicallyInvokable]
309 return Expression.MakeDynamic(delegateType, binder, arg0, arg1, arg2);
320 [global::__DynamicallyInvokable]
323 return Expression.MakeDynamic(delegateType, binder, arg0, arg1, arg2, arg3);
329 [global::__DynamicallyInvokable]
332 return Rewrite(args);
337 [global::__DynamicallyInvokable]
338 object IDynamicExpression.CreateCallSite()
DynamicExpression Update(IEnumerable< Expression > arguments)
Compares the value sent to the parameter, arguments, to the Arguments property of the current instanc...
static new DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2, Expression arg3)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
static new DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, IEnumerable< Expression > arguments)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
static new DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, params Expression[] arguments)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
static new DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
Provides the base class for a generic read-only collection.
Type DelegateType
Gets the type of the delegate used by the T:System.Runtime.CompilerServices.CallSite.
Provides an internal interface for accessing the arguments of DynamicExpression tree nodes as well as...
virtual internal Expression VisitDynamic(DynamicExpression node)
Visits the children of the T:System.Linq.Expressions.DynamicExpression.
static new DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
Provides an internal interface for accessing the arguments of multiple tree nodes (DynamicExpression,...
static new DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
A dynamic call site base class. This type is used as a parameter type to the dynamic site targets.
Exposes the enumerator, which supports a simple iteration over a collection of a specified type....
int ArgumentCount
Returns the number of arguments to the expression tree node. You should not use this type....
Expression GetArgument(int index)
Returns the argument at index, throwing if index is out of bounds. You should not use this type....
Provides the base class from which the classes that represent expression tree nodes are derived....
Expression Rewrite(Expression[] args)
Rewrites this node replacing the dynamic expression’s arguments with the provided values....
ReadOnlyCollection< Expression > Arguments
Gets the arguments to the dynamic operation.
static new DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, params Expression[] arguments)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
Represents type declarations: class types, interface types, array types, value types,...
ExpressionType
Describes the node types for the nodes of an expression tree.
static new DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, IEnumerable< Expression > arguments)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
static new DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
sealed override ExpressionType NodeType
Returns the node type of this expression. Extension nodes should return F:System.Linq....
Class responsible for runtime binding of the dynamic operations on the dynamic call site.
Represents a dynamic operation.
override Type Type
Gets the static type of the expression that this T:System.Linq.Expressions.Expression represents.
internal override Expression Accept(ExpressionVisitor visitor)
Dispatches to the specific visit method for this node type. For example, T:System....
static new DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
static new DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
static new DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2, Expression arg3)
Creates a T:System.Linq.Expressions.DynamicExpression that represents a dynamic operation bound by th...
Represents a visitor or rewriter for expression trees.
CallSiteBinder Binder
Gets the T:System.Runtime.CompilerServices.CallSiteBinder, which determines the run-time behavior of ...