Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ MakeDynamic() [5/7]

static DynamicExpression System.Linq.Expressions.ExpressionExtension.MakeDynamic ( Type delegateType,
CallSiteBinder binder,
Expression arg0,
Expression arg1,
Expression arg2,
Expression arg3 )
inlinestatic

Definition at line 100 of file ExpressionExtension.cs.

101 {
104 if (!delegateType.IsSubclassOf(typeof(MulticastDelegate)))
105 {
106 throw Error.TypeMustBeDerivedFromSystemDelegate();
107 }
109 ParameterInfo[] parametersCached = validMethodForDynamic.GetParametersCached();
119 return DynamicExpression.Make(validMethodForDynamic.GetReturnType(), delegateType, binder, arg0, arg1, arg2, arg3);
120 }
static void RequiresNotNull(object value, string paramName)
static void ValidateArgumentCount(MethodBase method, ExpressionType nodeKind, int count, ParameterInfo[] pis)
static Expression ValidateOneArgument(MethodBase method, ExpressionType nodeKind, Expression arguments, ParameterInfo pi, string methodParamName, string argumentParamName, int index=-1)
static void ValidateDynamicArgument(Expression arg, string paramName)
static MethodInfo GetValidMethodForDynamic(Type delegateType)

References System.Linq.Expressions.ExpressionExtension.GetValidMethodForDynamic(), System.Linq.Expressions.DynamicExpression.Make(), System.Dynamic.Utils.ContractUtils.RequiresNotNull(), System.Linq.Expressions.Error.TypeMustBeDerivedFromSystemDelegate(), System.Dynamic.Utils.ExpressionUtils.ValidateArgumentCount(), System.Linq.Expressions.ExpressionExtension.ValidateDynamicArgument(), and System.Dynamic.Utils.ExpressionUtils.ValidateOneArgument().