public static unsafe int CaptureStdOutput(CompiledFunctionDelegate fct, DataStructure *data) { if (data->printf_fct == null) { return(fct(data)); } else { Printf cprint = MarshalDelegate <Printf>(data->printf_fct); int res; var keep = data->printf_fct; data->printf_fct = null; var std = new StdCapture(); { res = fct(data); string sout = std.StdOut; if (!string.IsNullOrEmpty(sout)) { CPrintf(cprint, sout); } string err = std.StdErr; if (!string.IsNullOrEmpty(err)) { CPrintf(cprint, string.Format("--ERR--\n{0}", err)); } } std.Dispose(); data->printf_fct = keep; return(res); } }
public static string DataFrameToString(DataFrame df) { using (var capture = new StdCapture()) return(df.ToString()); }