private async ValueTask <TResult> InvokeEvent <T, TResult>(EventCallBackHandler <T, TResult> handler, T args, IOneBotApi api, string rawMsg) where T : System.EventArgs where TResult : BaseEventReturn { TResult replay = null; foreach (var @delegate in handler.GetInvocationList()) { var func = (EventCallBackHandler <T, TResult>)@delegate; var code = 0; try { var result = await func(args, api); if (result == null) { continue; } replay = result; code = result.Code; } catch (Exception e) { _logger.LogError(e, "消息处理出现未知错误:{Msg}", rawMsg); } if (code == 1) { break; } } return(replay); }
private async ValueTask InvokeEvent <T>(EventCallBackHandler <T> handler, T args, IOneBotApi api, string rawMsg) where T : System.EventArgs { foreach (var @delegate in handler.GetInvocationList()) { var func = (EventCallBackHandler <T>)@delegate; var code = 0; try { code = await func(args, api); } catch (Exception e) { _logger.LogError(e, "消息处理出现未知错误:{Msg}", rawMsg); } if (code == 1) { break; } } }