public Result Run(InitFunc initfunc, InitFunc postinitfunc, CyclicFunc cyclicfunc, QuitFunc quitfunc) { RefDelegate initfuncwrapper = delegate() { return(Result.getCPtr(initfunc()).Handle); }; RefDelegate postinitfuncwrapper = delegate() { return(Result.getCPtr(initfunc()).Handle); }; RefDelegate cyclicfuncwrapper = delegate() { return(System.IntPtr.Zero); }; RefDelegate quitfuncwrapper = delegate() { return(System.IntPtr.Zero); }; { Result ret = new Result(ISMathPINVOKE.Engine_Run(swigCPtr, initfuncwrapper, postinitfuncwrapper, cyclicfuncwrapper, quitfuncwrapper), true); return(ret); } }