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

◆ Call() [7/16]

static MethodCallExpression System.Linq.Expressions.Expression< TDelegate >.Call ( Expression< TDelegate >? instance,
MethodInfo method,
IEnumerable< Expression< TDelegate > >? arguments )
inlinestaticinherited

Definition at line 4171 of file Expression.cs.

4172 {
4174 int count = readOnlyList.Count;
4175 switch (count)
4176 {
4177 case 0:
4178 return Call(instance, method);
4179 case 1:
4180 return Call(instance, method, readOnlyList[0]);
4181 case 2:
4182 return Call(instance, method, readOnlyList[0], readOnlyList[1]);
4183 case 3:
4184 return Call(instance, method, readOnlyList[0], readOnlyList[1], readOnlyList[2]);
4185 default:
4186 {
4187 if (instance == null)
4188 {
4189 switch (count)
4190 {
4191 case 4:
4193 case 5:
4195 }
4196 }
4199 ValidateMethodInfo(method, "method");
4202 if (instance == null)
4203 {
4204 return new MethodCallExpressionN(method, arguments2);
4205 }
4206 return new InstanceMethodCallExpressionN(method, instance, arguments2);
4207 }
4208 }
4209 }
static void RequiresNotNull(object value, string paramName)
static void ValidateMethodInfo(MethodInfo method, string paramName)
static void ValidateArgumentTypes(MethodBase method, ExpressionType nodeKind, ref ReadOnlyCollection< Expression > arguments, string methodParamName)
static void ValidateStaticOrInstanceMethod(Expression instance, MethodInfo method)

References System.Linq.Expressions.Call, System.Linq.count, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Dynamic.Utils.ContractUtils.RequiresNotNull(), System.Linq.Expressions.Expression< TDelegate >.ValidateArgumentTypes(), System.Linq.Expressions.Expression< TDelegate >.ValidateMethodInfo(), and System.Linq.Expressions.Expression< TDelegate >.ValidateStaticOrInstanceMethod().