@@ -2928,6 +2928,16 @@ protected virtual MethodInfo GetRealMethod(ref Type type, ref object obj, string
29282928 . MakeGenericMethod ( parameterType . GetGenericArguments ( ) ) ;
29292929 modifiedArgs [ a ] = Delegate . CreateDelegate ( parameterType , de , encapsMethod ) ;
29302930 }
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+ }
29312941 else if ( paramTypeName . StartsWith ( "Converter" )
29322942 && modifiedArgs [ a ] is InternalDelegate )
29332943 {
@@ -3396,6 +3406,91 @@ public object CallFluidMethod(params object[] args)
33963406 return target ;
33973407 }
33983408
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+
33993494 public TResult Func0 < TResult > ( )
34003495 {
34013496 return ( TResult ) lambda ( ) ;
0 commit comments