|
1 | 1 | /******************************************************************************************************
|
2 | 2 | Title : ExpressionEvaluator (https://github.com/codingseb/ExpressionEvaluator)
|
3 |
| - Version : 1.4.4.0 |
| 3 | + Version : 1.4.5.0 |
4 | 4 | (if last digit (the forth) is not a zero, the version is an intermediate version and can be unstable)
|
5 | 5 |
|
6 | 6 | Author : Coding Seb
|
@@ -2928,6 +2928,16 @@ protected virtual MethodInfo GetRealMethod(ref Type type, ref object obj, string
|
2928 | 2928 | .MakeGenericMethod(parameterType.GetGenericArguments());
|
2929 | 2929 | modifiedArgs[a] = Delegate.CreateDelegate(parameterType, de, encapsMethod);
|
2930 | 2930 | }
|
| 2931 | + else if(paramTypeName.StartsWith("Action") |
| 2932 | + && modifiedArgs[a] is InternalDelegate) |
| 2933 | + { |
| 2934 | + InternalDelegate led = modifiedArgs[a] as InternalDelegate; |
| 2935 | + DelegateEncaps de = new DelegateEncaps(led); |
| 2936 | + MethodInfo encapsMethod = de.GetType() |
| 2937 | + .GetMethod($"Action{parameterType.GetGenericArguments().Length}") |
| 2938 | + .MakeGenericMethod(parameterType.GetGenericArguments()); |
| 2939 | + modifiedArgs[a] = Delegate.CreateDelegate(parameterType, de, encapsMethod); |
| 2940 | + } |
2931 | 2941 | else if (paramTypeName.StartsWith("Converter")
|
2932 | 2942 | && modifiedArgs[a] is InternalDelegate)
|
2933 | 2943 | {
|
@@ -3396,6 +3406,91 @@ public object CallFluidMethod(params object[] args)
|
3396 | 3406 | return target;
|
3397 | 3407 | }
|
3398 | 3408 |
|
| 3409 | + public void Action0() |
| 3410 | + { |
| 3411 | + lambda(); |
| 3412 | + } |
| 3413 | + |
| 3414 | + public void Action1<T1>(T1 arg1) |
| 3415 | + { |
| 3416 | + lambda(arg1); |
| 3417 | + } |
| 3418 | + |
| 3419 | + public void Action2<T1, T2>(T1 arg1, T2 arg2) |
| 3420 | + { |
| 3421 | + lambda(arg1, arg2); |
| 3422 | + } |
| 3423 | + |
| 3424 | + public void Action3<T1, T2, T3>(T1 arg1, T2 arg2, T3 arg3) |
| 3425 | + { |
| 3426 | + lambda(arg1, arg2, arg3); |
| 3427 | + } |
| 3428 | + |
| 3429 | + public void Action4<T1, T2, T3, T4>(T1 arg1, T2 arg2, T3 arg3, T4 arg4) |
| 3430 | + { |
| 3431 | + lambda(arg1, arg2, arg3, arg4); |
| 3432 | + } |
| 3433 | + |
| 3434 | + public void Action5<T1, T2, T3, T4, T5>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) |
| 3435 | + { |
| 3436 | + lambda(arg1, arg2, arg3, arg4, arg5); |
| 3437 | + } |
| 3438 | + |
| 3439 | + public void Action6<T1, T2, T3, T4, T5, T6>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) |
| 3440 | + { |
| 3441 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6); |
| 3442 | + } |
| 3443 | + |
| 3444 | + public void Action7<T1, T2, T3, T4, T5, T6, T7>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) |
| 3445 | + { |
| 3446 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6, arg7); |
| 3447 | + } |
| 3448 | + |
| 3449 | + public void Action8<T1, T2, T3, T4, T5, T6, T7, T8>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) |
| 3450 | + { |
| 3451 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); |
| 3452 | + } |
| 3453 | + |
| 3454 | + public void Action9<T1, T2, T3, T4, T5, T6, T7, T8, T9>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) |
| 3455 | + { |
| 3456 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); |
| 3457 | + } |
| 3458 | + |
| 3459 | + public void Action10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) |
| 3460 | + { |
| 3461 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); |
| 3462 | + } |
| 3463 | + |
| 3464 | + public void Action11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) |
| 3465 | + { |
| 3466 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); |
| 3467 | + } |
| 3468 | + |
| 3469 | + public void Action12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12) |
| 3470 | + { |
| 3471 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); |
| 3472 | + } |
| 3473 | + |
| 3474 | + public void Action13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) |
| 3475 | + { |
| 3476 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); |
| 3477 | + } |
| 3478 | + |
| 3479 | + public void Action14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) |
| 3480 | + { |
| 3481 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); |
| 3482 | + } |
| 3483 | + |
| 3484 | + public void Action15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) |
| 3485 | + { |
| 3486 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); |
| 3487 | + } |
| 3488 | + |
| 3489 | + public void Action16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) |
| 3490 | + { |
| 3491 | + lambda(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); |
| 3492 | + } |
| 3493 | + |
3399 | 3494 | public TResult Func0<TResult>()
|
3400 | 3495 | {
|
3401 | 3496 | return (TResult)lambda();
|
|
0 commit comments