//------------------------------------------------------------------------------ // 此代码版权(除特别声明或在XREF结尾的命名空间的代码)归作者本人若汝棋茗所有 // 源代码使用协议遵循本仓库的开源协议及附加协议,若本仓库没有设置,则按MIT开源协议授权 // CSDN博客:https://blog.csdn.net/qq_40374647 // 哔哩哔哩视频:https://space.bilibili.com/94253567 // Gitee源代码仓库:https://gitee.com/RRQM_Home // Github源代码仓库:https://github.com/RRQM // API首页:https://www.yuque.com/rrqm/touchsocket/index // 交流QQ群:234762506 // 感谢您的下载和使用 //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ using System; using TouchSocket.Resources; namespace TouchSocket.Core { /// /// 结果返回 /// public struct Result : IResult { /// /// 成功 /// public static readonly Result Success = new Result(ResultCode.Success, "Success"); /// /// 初始状态 /// public static readonly Result Default = new Result(ResultCode.Default, "Default"); /// /// 未知失败 /// public static readonly Result UnknownFail = new Result(ResultCode.Fail, TouchSocketStatus.UnknownError.GetDescription()); /// /// 超时 /// public static readonly Result Overtime = new Result(ResultCode.Overtime, TouchSocketStatus.Overtime.GetDescription()); /// /// 取消 /// public static readonly Result Canceled = new Result(ResultCode.Canceled, TouchSocketStatus.Canceled.GetDescription()); /// /// 构造函数 /// /// /// public Result(ResultCode resultCode, string message) { ResultCode = resultCode; Message = message; } /// /// 构造函数 /// /// public Result(IResult result) { ResultCode = result.ResultCode; Message = result.Message; } /// /// 构造函数 /// /// public Result(Exception exception) { ResultCode = ResultCode.Exception; Message = exception.Message; } /// /// 构造函数 /// /// public Result(ResultCode resultCode) { ResultCode = resultCode; Message = resultCode.GetDescription(); } /// /// /// public ResultCode ResultCode { get; private set; } /// /// /// public string Message { get; private set; } /// /// 创建来自 /// /// /// public static Result FromCanceled(string msg) { return new Result(ResultCode.Canceled, msg); } /// /// 创建来自 /// /// /// public static Result FromError(string msg) { return new Result(ResultCode.Error, msg); } /// /// 创建来自 /// /// /// public static Result FromException(string msg) { return new Result(ResultCode.Exception, msg); } /// /// 创建来自 /// /// /// public static Result FromFail(string msg) { return new Result(ResultCode.Fail, msg); } /// /// 创建来自 /// /// /// public static Result FromOvertime(string msg) { return new Result(ResultCode.Overtime, msg); } /// /// 创建来自 /// /// /// public static Result FromSuccess(string msg) { return new Result(ResultCode.Success, msg); } /// /// ToString /// /// public override string ToString() { return $"类型:{ResultCode},信息:{Message}"; } } /// /// 结果返回 /// public class ResultBase : IResult { /// /// 构造函数 /// /// /// public ResultBase(ResultCode resultCode, string message) { ResultCode = resultCode; Message = message; } /// /// 构造函数 /// /// public ResultBase(ResultCode resultCode) { ResultCode = resultCode; Message = resultCode.GetDescription(); } /// /// 构造函数 /// /// public ResultBase(Result result) { ResultCode = result.ResultCode; Message = result.Message; } /// /// 构造函数 /// public ResultBase() { } /// /// /// public ResultCode ResultCode { get; protected set; } /// /// /// public string Message { get; protected set; } /// /// ToString /// /// public override string ToString() { return $"类型:{ResultCode},信息:{Message}"; } } /// /// ResultExtensions /// public static class ResultExtensions { /// /// 是否成功。 /// /// /// public static bool IsSuccess(this IResult result) { return result.ResultCode == ResultCode.Success; } /// /// 是否没有成功。 /// /// /// public static bool NotSuccess(this IResult result) { return result.ResultCode != ResultCode.Success; } /// /// 转换为 /// /// /// public static Result ToResult(this IResult result) { return new Result(result); } } }