Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="5.17.0" />

 ILGeneratorExtensions

static class ILGeneratorExtensions
public static void CopyParametersToCapturedArgumentsIfAny(this ILGenerator generator, CompilerContext context, Expression[] parameters)

public static void EmitInteger(this ILGenerator generator, int intValue)

public static bool EmitMethod(this ILGenerator generator, MethodInfo info)

public static void InitValueType(this ILGenerator generator, Type type)

public static void LoadCapturedArgumentHolder(this ILGenerator generator, CompilerContext context)

public static void LoadParameter(this ILGenerator generator, int index)

public static LocalBuilder PrepareCapturedArgumentsHolderVariable(this ILGenerator generator, int capturedArgumentsCount)

public static bool TryEmitNumberConstant(this ILGenerator generator, Type type, object value)