• 通用程序返回结果类 ApplicationResult.cs


    using System.Collections.Generic;
    using System.Linq;
    
    namespace System
    {
        /// <summary>
        /// 表示应用程序在执行后的结果。
        /// </summary>
        public class ApplicationResult
        {
            static readonly ApplicationResult _success = new ApplicationResult(true);
    
            /// <summary>
            /// 初始化 <see cref="ApplicationResult"/> 类的新实例。
            /// </summary>
            /// <param name="success">表示应用程序执行的结果是否成功。</param>
            protected ApplicationResult(bool success)
            {
                this.Succeeded = success;
            }
    
            /// <summary>
            /// 使用带有错误的字符串数组初始化 <see cref="ApplicationResult"/> 类的新实例。
            /// </summary>
            /// <param name="errors">可选的错误字符串数组。</param>
            public ApplicationResult(params string[] errors)
                : this(errors.AsEnumerable())
            {
    
            }
    
            /// <summary>
            /// 使用带有错误的字符串集合初始化 <see cref="ApplicationResult"/> 类的新实例。
            /// </summary>
            /// <param name="errors">错误字符串集合。</param>
            public ApplicationResult(IEnumerable<string> errors)
                : this(false)
            {
                this.Errors = errors;
            }
    
            /// <summary>
            /// 获取一个布尔值,表示当前的执行是否成功。
            /// </summary>
            /// <value>
            ///   若执行成功,则为 <c>true</c>;否则为 <c>false</c>。
            /// </value>
            public bool Succeeded { get; private set; }
    
            /// <summary>
            /// 获取一个字符串集合,表示返回的错误信息。
            /// </summary>
            /// <value>
            /// 这是一个集合,包含所有的错误信息。
            /// </value>
            public IEnumerable<string> Errors { get; private set; }
    
            /// <summary>
            /// 表示当前操作执行成功。
            /// </summary>
            public static ApplicationResult Success => _success;
    
            /// <summary>
            /// 表示当前操作执行失败。
            /// </summary>
            /// <param name="errors">因导致失败的错误字符串数组。</param>
            /// <returns>当前的 <see cref="ApplicationResult"/> 实例。</returns>
            public static ApplicationResult Failed(params string[] errors) => new ApplicationResult(errors);
    
            /// <summary>
            /// 表示当前操作执行失败。
            /// </summary>
            /// <param name="errors">因导致失败的错误字符串集合。</param>
            /// <returns>当前的 <see cref="ApplicationResult"/> 实例。</returns>
            public static ApplicationResult Failed(IEnumerable<string> errors)
                => Failed(errors.ToArray());
        }
    
    
        /// <summary>
        /// 表示应用程序在执行后的结果并附带自定义对象。
        /// </summary>
        /// <typeparam name="T">一个可在结果返回的数据类型。</typeparam>
        /// <seealso cref="ApplicationResult" />
        public class ApplicationResult<T> : ApplicationResult
        {
            /// <summary>
            /// 使用自定义数据初始化 <see cref="ApplicationResult{T}"/> 类的新实例。
            /// </summary>
            /// <param name="data">这是返回的数据。</param>
            protected ApplicationResult(T data)
            {
                this.Data = data;
            }
    
            /// <summary>
            /// 初始化 <see cref="ApplicationResult{T}"/> 类的新实例。
            /// </summary>
            /// <param name="success">表示应用程序执行的结果是否成功。</param>
            protected ApplicationResult(bool success) : base(success) { }
    
            /// <summary>
            /// 获取一个泛型的值,表示应用程序成功或失败时所需要的任意数据值。
            /// </summary>
            /// <value>
            /// 任意数据。
            /// </value>
            public T Data { get; private set; }
    
            /// <summary>
            /// 设置成功或失败时想要在返回时获取的数据。
            /// </summary>
            /// <param name="data">要设置的数据。</param>
            /// <returns><see cref="ApplicationResult{T}"/> 实例。</returns>
            public ApplicationResult<T> SetData(T data)
            {
                this.Data = data;
                return this;
            }
    
            /// <summary>
            /// 表示当前操作执行成功。
            /// </summary>
            /// <returns><see cref="ApplicationResult{T}"/> 实例。</returns>
            public static new ApplicationResult<T> Success => new ApplicationResult<T>(true);
        }
    }
    

      

  • 相关阅读:
    SQLServer分组加序号,只取某个对象指定条件的前几个
    SQLServer用with temptb AS临时表查询或者更新字段,将某个字段赋值成某个字段的值
    KMP算法
    java知识点
    程序接口设计的六大原则
    罗马数字转int
    使用github作为maven仓库存放发布自己的jar包依赖 实现多个项目公共部分代码的集中,避免团队中多个项目之间代码的复制粘贴
    java mybatis中大于号小于号的转义
    两个有序数组 A1 A2 的合并
    Mysql_设置root指定的ip访问或连接数据库
  • 原文地址:https://www.cnblogs.com/XuPengLB/p/8182482.html
Copyright © 2020-2023  润新知