DotNext.Reflection by .NET Foundation and Contributors

<PackageReference Include="DotNext.Reflection" Version="4.0.0-beta.7" />

 Procedure<T, TArgs>

public sealed delegate Procedure<T, TArgs> : MulticastDelegate where TArgs : struct
Represents an instance procedure with arbitrary number of arguments allocated on the stack.
public Procedure(object object, IntPtr method)

public virtual IAsyncResult BeginInvoke(T& modreq(System.Runtime.InteropServices.InAttribute) this, TArgs& modreq(System.Runtime.InteropServices.InAttribute) arguments, AsyncCallback callback, object object)

public virtual void EndInvoke(T& modreq(System.Runtime.InteropServices.InAttribute) this, TArgs& modreq(System.Runtime.InteropServices.InAttribute) arguments, IAsyncResult result)

public virtual void Invoke(T& modreq(System.Runtime.InteropServices.InAttribute) this, TArgs& modreq(System.Runtime.InteropServices.InAttribute) arguments)