using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MECF.Framework.RT.Core.IoProviders.Siemens
{
    /*******************************************************************************
     * 
     *    用户返回多个结果数据的一个类,允许返回操作结果,文本信息,错误代号,等等
     *
     *    Used to the return result class in the synchronize communication and communication for industrial Ethernet
     *    
     *    时间:2017年11月20日 11:43:57
     *    更新:废除原先的2个结果派生类,新增10个泛型派生类,来满足绝大多数的场景使用
     *    
     *    时间:2018年3月11日 22:08:08
     *    更新:新增一些静态方法来方便的获取带有参数的成功对象,新增快速复制错误信息的方法
     *    
     *    时间:2018年8月23日 12:19:36
     *    更新:新增两个不同的结果对象构造方法
     * 
     *******************************************************************************/
    /// 
    /// 操作结果的类,只带有成功标志和错误信息 -> The class that operates the result, with only success flags and error messages
    /// 
    /// 
    /// 当  为 True 时,忽略  及  的值
    /// 
    public class OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult()
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg )
        {
            this.Message = msg;
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg )
        {
            this.ErrorCode = err;
            this.Message = msg;
        }
        #endregion
        
        /// 
        /// 指示本次访问是否成功
        /// 
        public bool IsSuccess { get; set; }
        
        /// 
        /// 具体的错误描述
        /// 
        public string Message { get; set; } = StringResources.Language.UnknownError;
        
        /// 
        /// 具体的错误代码
        /// 
        public int ErrorCode { get; set; } = 10000;
        
        /// 
        /// 获取错误代号及文本描述
        /// 
        /// 包含错误码及错误消息
        public string ToMessageShowString()
        {
            return $"{StringResources.Language.ErrorCode}:{ErrorCode}{Environment.NewLine}{StringResources.Language.TextDescription}:{Message}";
        }
        /// 
        /// 从另一个结果类中拷贝错误信息
        /// 
        /// 支持结果类及派生类
        /// 结果类及派生类的对象
        public void CopyErrorFromOther(TResult result) where TResult : OperateResult
        {
            if (result != null)
            {
                ErrorCode = result.ErrorCode;
                Message = result.Message;
            }
            
        }
        #region Static Method
        /*****************************************************************************************************
         * 
         *    主要是方便获取到一些特殊状态的结果对象
         * 
         ******************************************************************************************************/
         
        /// 
        /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息
        /// 
        /// 目标数据类型
        /// 之前的结果对象
        /// 带默认泛型对象的失败结果类
        public static OperateResult CreateFailedResult( OperateResult result ) 
        {
            return new OperateResult( )
            {
                ErrorCode = result.ErrorCode,
                Message = result.Message,
            };
        }
        /// 
        /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息
        /// 
        /// 目标数据类型一
        /// 目标数据类型二
        /// 之前的结果对象
        /// 带默认泛型对象的失败结果类
        public static OperateResult CreateFailedResult( OperateResult result )
        {
            return new OperateResult( )
            {
                ErrorCode = result.ErrorCode,
                Message = result.Message,
            };
        }
        /// 
        /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息
        /// 
        /// 目标数据类型一
        /// 目标数据类型二
        /// 目标数据类型三
        /// 之前的结果对象
        /// 带默认泛型对象的失败结果类
        public static OperateResult CreateFailedResult( OperateResult result )
        {
            return new OperateResult( )
            {
                ErrorCode = result.ErrorCode,
                Message = result.Message,
            };
        }
        /// 
        /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息
        /// 
        /// 目标数据类型一
        /// 目标数据类型二
        /// 目标数据类型三
        /// 目标数据类型四
        /// 之前的结果对象
        /// 带默认泛型对象的失败结果类
        public static OperateResult CreateFailedResult( OperateResult result )
        {
            return new OperateResult( )
            {
                ErrorCode = result.ErrorCode,
                Message = result.Message,
            };
        }
        /// 
        /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息
        /// 
        /// 目标数据类型一
        /// 目标数据类型二
        /// 目标数据类型三
        /// 目标数据类型四
        /// 目标数据类型五
        /// 之前的结果对象
        /// 带默认泛型对象的失败结果类
        public static OperateResult CreateFailedResult( OperateResult result )
        {
            return new OperateResult( )
            {
                ErrorCode = result.ErrorCode,
                Message = result.Message,
            };
        }
        /// 
        /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息
        /// 
        /// 目标数据类型一
        /// 目标数据类型二
        /// 目标数据类型三
        /// 目标数据类型四
        /// 目标数据类型五
        /// 目标数据类型六
        /// 之前的结果对象
        /// 带默认泛型对象的失败结果类
        public static OperateResult CreateFailedResult( OperateResult result )
        {
            return new OperateResult( )
            {
                ErrorCode = result.ErrorCode,
                Message = result.Message,
            };
        }
        /// 
        /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息
        /// 
        /// 目标数据类型一
        /// 目标数据类型二
        /// 目标数据类型三
        /// 目标数据类型四
        /// 目标数据类型五
        /// 目标数据类型六
        /// 目标数据类型七
        /// 之前的结果对象
        /// 带默认泛型对象的失败结果类
        public static OperateResult CreateFailedResult( OperateResult result )
        {
            return new OperateResult( )
            {
                ErrorCode = result.ErrorCode,
                Message = result.Message,
            };
        }
        /// 
        /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息
        /// 
        /// 目标数据类型一
        /// 目标数据类型二
        /// 目标数据类型三
        /// 目标数据类型四
        /// 目标数据类型五
        /// 目标数据类型六
        /// 目标数据类型七
        /// 目标数据类型八
        /// 之前的结果对象
        /// 带默认泛型对象的失败结果类
        public static OperateResult CreateFailedResult( OperateResult result )
        {
            return new OperateResult( )
            {
                ErrorCode = result.ErrorCode,
                Message = result.Message,
            };
        }
        /// 
        /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息
        /// 
        /// 目标数据类型一
        /// 目标数据类型二
        /// 目标数据类型三
        /// 目标数据类型四
        /// 目标数据类型五
        /// 目标数据类型六
        /// 目标数据类型七
        /// 目标数据类型八
        /// 目标数据类型九
        /// 之前的结果对象
        /// 带默认泛型对象的失败结果类
        public static OperateResult CreateFailedResult( OperateResult result )
        {
            return new OperateResult( )
            {
                ErrorCode = result.ErrorCode,
                Message = result.Message,
            };
        }
        /// 
        /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息
        /// 
        /// 目标数据类型一
        /// 目标数据类型二
        /// 目标数据类型三
        /// 目标数据类型四
        /// 目标数据类型五
        /// 目标数据类型六
        /// 目标数据类型七
        /// 目标数据类型八
        /// 目标数据类型九
        /// 目标数据类型十
        /// 之前的结果对象
        /// 带默认泛型对象的失败结果类
        public static OperateResult CreateFailedResult( OperateResult result )
        {
            return new OperateResult( )
            {
                ErrorCode = result.ErrorCode,
                Message = result.Message,
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象
        /// 
        /// 成功的结果对象
        public static OperateResult CreateSuccessResult()
        {
            return new OperateResult()
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象,并带有一个参数对象
        /// 
        /// 参数类型
        /// 类型的值对象
        /// 成功的结果对象
        public static OperateResult CreateSuccessResult(T value)
        {
            return new OperateResult()
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
                Content = value
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象,并带有两个参数对象
        /// 
        /// 第一个参数类型
        /// 第二个参数类型
        /// 类型一对象
        /// 类型二对象
        /// 成的结果对象
        public static OperateResult CreateSuccessResult(T1 value1, T2 value2)
        {
            return new OperateResult()
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
                Content1 = value1,
                Content2 = value2,
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象,并带有三个参数对象
        /// 
        /// 第一个参数类型
        /// 第二个参数类型
        /// 第三个参数类型
        /// 类型一对象
        /// 类型二对象
        /// 类型三对象
        /// 成的结果对象
        public static OperateResult CreateSuccessResult(T1 value1, T2 value2, T3 value3)
        {
            return new OperateResult()
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
                Content1 = value1,
                Content2 = value2,
                Content3 = value3,
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象,并带有四个参数对象
        /// 
        /// 第一个参数类型
        /// 第二个参数类型
        /// 第三个参数类型
        /// 第四个参数类型
        /// 类型一对象
        /// 类型二对象
        /// 类型三对象
        /// 类型四对象
        /// 成的结果对象
        public static OperateResult CreateSuccessResult( T1 value1, T2 value2, T3 value3, T4 value4 )
        {
            return new OperateResult( )
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
                Content1 = value1,
                Content2 = value2,
                Content3 = value3,
                Content4 = value4,
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象,并带有五个参数对象
        /// 
        /// 第一个参数类型
        /// 第二个参数类型
        /// 第三个参数类型
        /// 第四个参数类型
        /// 第五个参数类型
        /// 类型一对象
        /// 类型二对象
        /// 类型三对象
        /// 类型四对象
        /// 类型五对象
        /// 成的结果对象
        public static OperateResult CreateSuccessResult( T1 value1, T2 value2, T3 value3, T4 value4, T5 value5 )
        {
            return new OperateResult( )
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
                Content1 = value1,
                Content2 = value2,
                Content3 = value3,
                Content4 = value4,
                Content5 = value5,
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象,并带有六个参数对象
        /// 
        /// 第一个参数类型
        /// 第二个参数类型
        /// 第三个参数类型
        /// 第四个参数类型
        /// 第五个参数类型
        /// 第六个参数类型
        /// 类型一对象
        /// 类型二对象
        /// 类型三对象
        /// 类型四对象
        /// 类型五对象
        /// 类型六对象
        /// 成的结果对象
        public static OperateResult CreateSuccessResult( T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6 )
        {
            return new OperateResult( )
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
                Content1 = value1,
                Content2 = value2,
                Content3 = value3,
                Content4 = value4,
                Content5 = value5,
                Content6 = value6,
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象,并带有七个参数对象
        /// 
        /// 第一个参数类型
        /// 第二个参数类型
        /// 第三个参数类型
        /// 第四个参数类型
        /// 第五个参数类型
        /// 第六个参数类型
        /// 第七个参数类型
        /// 类型一对象
        /// 类型二对象
        /// 类型三对象
        /// 类型四对象
        /// 类型五对象
        /// 类型六对象
        /// 类型七对象
        /// 成的结果对象
        public static OperateResult CreateSuccessResult( T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7 )
        {
            return new OperateResult( )
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
                Content1 = value1,
                Content2 = value2,
                Content3 = value3,
                Content4 = value4,
                Content5 = value5,
                Content6 = value6,
                Content7 = value7,
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象,并带有八个参数对象
        /// 
        /// 第一个参数类型
        /// 第二个参数类型
        /// 第三个参数类型
        /// 第四个参数类型
        /// 第五个参数类型
        /// 第六个参数类型
        /// 第七个参数类型
        /// 第八个参数类型
        /// 类型一对象
        /// 类型二对象
        /// 类型三对象
        /// 类型四对象
        /// 类型五对象
        /// 类型六对象
        /// 类型七对象
        /// 类型八对象
        /// 成的结果对象
        public static OperateResult CreateSuccessResult( T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8 )
        {
            return new OperateResult( )
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
                Content1 = value1,
                Content2 = value2,
                Content3 = value3,
                Content4 = value4,
                Content5 = value5,
                Content6 = value6,
                Content7 = value7,
                Content8 = value8,
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象,并带有九个参数对象
        /// 
        /// 第一个参数类型
        /// 第二个参数类型
        /// 第三个参数类型
        /// 第四个参数类型
        /// 第五个参数类型
        /// 第六个参数类型
        /// 第七个参数类型
        /// 第八个参数类型
        /// 第九个参数类型
        /// 类型一对象
        /// 类型二对象
        /// 类型三对象
        /// 类型四对象
        /// 类型五对象
        /// 类型六对象
        /// 类型七对象
        /// 类型八对象
        /// 类型九对象
        /// 成的结果对象
        public static OperateResult CreateSuccessResult( T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9 )
        {
            return new OperateResult( )
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
                Content1 = value1,
                Content2 = value2,
                Content3 = value3,
                Content4 = value4,
                Content5 = value5,
                Content6 = value6,
                Content7 = value7,
                Content8 = value8,
                Content9 = value9,
            };
        }
        /// 
        /// 创建并返回一个成功的结果对象,并带有十个参数对象
        /// 
        /// 第一个参数类型
        /// 第二个参数类型
        /// 第三个参数类型
        /// 第四个参数类型
        /// 第五个参数类型
        /// 第六个参数类型
        /// 第七个参数类型
        /// 第八个参数类型
        /// 第九个参数类型
        /// 第十个参数类型
        /// 类型一对象
        /// 类型二对象
        /// 类型三对象
        /// 类型四对象
        /// 类型五对象
        /// 类型六对象
        /// 类型七对象
        /// 类型八对象
        /// 类型九对象
        /// 类型十对象
        /// 成的结果对象
        public static OperateResult CreateSuccessResult( T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10 )
        {
            return new OperateResult( )
            {
                IsSuccess = true,
                ErrorCode = 0,
                Message = StringResources.Language.SuccessText,
                Content1 = value1,
                Content2 = value2,
                Content3 = value3,
                Content4 = value4,
                Content5 = value5,
                Content6 = value6,
                Content7 = value7,
                Content8 = value8,
                Content9 = value9,
                Content10 = value10,
            };
        }
        #endregion
    }
    /// 
    /// 操作结果的泛型类,允许带一个用户自定义的泛型对象,推荐使用这个类
    /// 
    /// 泛型类
    public class OperateResult : OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult( ) : base( )
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg ) : base( msg )
        {
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg ) : base( err, msg )
        {
        }
        #endregion
        /// 
        /// 用户自定义的泛型数据
        /// 
        public T Content { get; set; }
    }
    /// 
    /// 操作结果的泛型类,允许带两个用户自定义的泛型对象,推荐使用这个类
    /// 
    /// 泛型类
    /// 泛型类
    public class OperateResult : OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult( ) : base( )
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg ) : base( msg )
        {
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg ) : base( err, msg )
        {
        }
        #endregion
        /// 
        /// 用户自定义的泛型数据1
        /// 
        public T1 Content1 { get; set; }
        /// 
        /// 用户自定义的泛型数据2
        /// 
        public T2 Content2 { get; set; }
    }
    /// 
    /// 操作结果的泛型类,允许带三个用户自定义的泛型对象,推荐使用这个类
    /// 
    /// 泛型类
    /// 泛型类
    /// 泛型类
    public class OperateResult : OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult( ) : base( )
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg ) : base( msg )
        {
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg ) : base( err, msg )
        {
        }
        #endregion
        /// 
        /// 用户自定义的泛型数据1
        /// 
        public T1 Content1 { get; set; }
        /// 
        /// 用户自定义的泛型数据2
        /// 
        public T2 Content2 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据3
        /// 
        public T3 Content3 { get; set; }
    }
    
    /// 
    /// 操作结果的泛型类,允许带四个用户自定义的泛型对象,推荐使用这个类
    /// 
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    public class OperateResult : OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult( ) : base( )
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg ) : base( msg )
        {
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg ) : base( err, msg )
        {
        }
        #endregion
        /// 
        /// 用户自定义的泛型数据1
        /// 
        public T1 Content1 { get; set; }
        /// 
        /// 用户自定义的泛型数据2
        /// 
        public T2 Content2 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据3
        /// 
        public T3 Content3 { get; set; }
        /// 
        /// 用户自定义的泛型数据4
        /// 
        public T4 Content4 { get; set; }
    }
    
    /// 
    /// 操作结果的泛型类,允许带五个用户自定义的泛型对象,推荐使用这个类
    /// 
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    public class OperateResult : OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult( ) : base( )
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg ) : base( msg )
        {
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg ) : base( err, msg )
        {
        }
        #endregion
        /// 
        /// 用户自定义的泛型数据1
        /// 
        public T1 Content1 { get; set; }
        /// 
        /// 用户自定义的泛型数据2
        /// 
        public T2 Content2 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据3
        /// 
        public T3 Content3 { get; set; }
        /// 
        /// 用户自定义的泛型数据4
        /// 
        public T4 Content4 { get; set; }
        /// 
        /// 用户自定义的泛型数据5
        /// 
        public T5 Content5 { get; set; }
        
    }
    /// 
    /// 操作结果的泛型类,允许带六个用户自定义的泛型对象,推荐使用这个类
    /// 
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    public class OperateResult : OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult( ) : base( )
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg ) : base( msg )
        {
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg ) : base( err, msg )
        {
        }
        #endregion
        /// 
        /// 用户自定义的泛型数据1
        /// 
        public T1 Content1 { get; set; }
        /// 
        /// 用户自定义的泛型数据2
        /// 
        public T2 Content2 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据3
        /// 
        public T3 Content3 { get; set; }
        /// 
        /// 用户自定义的泛型数据4
        /// 
        public T4 Content4 { get; set; }
        /// 
        /// 用户自定义的泛型数据5
        /// 
        public T5 Content5 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据5
        /// 
        public T6 Content6 { get; set; }
        
    }
    /// 
    /// 操作结果的泛型类,允许带七个用户自定义的泛型对象,推荐使用这个类
    /// 
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    public class OperateResult : OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult( ) : base( )
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg ) : base( msg )
        {
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg ) : base( err, msg )
        {
        }
        #endregion
        /// 
        /// 用户自定义的泛型数据1
        /// 
        public T1 Content1 { get; set; }
        /// 
        /// 用户自定义的泛型数据2
        /// 
        public T2 Content2 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据3
        /// 
        public T3 Content3 { get; set; }
        /// 
        /// 用户自定义的泛型数据4
        /// 
        public T4 Content4 { get; set; }
        /// 
        /// 用户自定义的泛型数据5
        /// 
        public T5 Content5 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据6
        /// 
        public T6 Content6 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据7
        /// 
        public T7 Content7 { get; set; }
    }
    /// 
    /// 操作结果的泛型类,允许带八个用户自定义的泛型对象,推荐使用这个类
    /// 
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    public class OperateResult : OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult( ) : base( )
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg ) : base( msg )
        {
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg ) : base( err, msg )
        {
        }
        #endregion
        /// 
        /// 用户自定义的泛型数据1
        /// 
        public T1 Content1 { get; set; }
        /// 
        /// 用户自定义的泛型数据2
        /// 
        public T2 Content2 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据3
        /// 
        public T3 Content3 { get; set; }
        /// 
        /// 用户自定义的泛型数据4
        /// 
        public T4 Content4 { get; set; }
        /// 
        /// 用户自定义的泛型数据5
        /// 
        public T5 Content5 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据6
        /// 
        public T6 Content6 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据7
        /// 
        public T7 Content7 { get; set; }
        /// 
        /// 用户自定义的泛型数据8
        /// 
        public T8 Content8 { get; set; }
    }
    /// 
    /// 操作结果的泛型类,允许带九个用户自定义的泛型对象,推荐使用这个类
    /// 
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    public class OperateResult : OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult( ) : base( )
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg ) : base( msg )
        {
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg ) : base( err, msg )
        {
        }
        #endregion
        /// 
        /// 用户自定义的泛型数据1
        /// 
        public T1 Content1 { get; set; }
        /// 
        /// 用户自定义的泛型数据2
        /// 
        public T2 Content2 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据3
        /// 
        public T3 Content3 { get; set; }
        /// 
        /// 用户自定义的泛型数据4
        /// 
        public T4 Content4 { get; set; }
        /// 
        /// 用户自定义的泛型数据5
        /// 
        public T5 Content5 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据6
        /// 
        public T6 Content6 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据7
        /// 
        public T7 Content7 { get; set; }
        /// 
        /// 用户自定义的泛型数据8
        /// 
        public T8 Content8 { get; set; }
        /// 
        /// 用户自定义的泛型数据9
        /// 
        public T9 Content9 { get; set; }
    }
    /// 
    /// 操作结果的泛型类,允许带十个用户自定义的泛型对象,推荐使用这个类
    /// 
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    /// 泛型类
    public class OperateResult : OperateResult
    {
        #region Constructor
        /// 
        /// 实例化一个默认的结果对象
        /// 
        public OperateResult( ) : base( )
        {
        }
        /// 
        /// 使用指定的消息实例化一个默认的结果对象
        /// 
        /// 错误消息
        public OperateResult( string msg ) : base( msg )
        {
        }
        /// 
        /// 使用错误代码,消息文本来实例化对象
        /// 
        /// 错误代码
        /// 错误消息
        public OperateResult( int err, string msg ) : base( err, msg )
        {
        }
        #endregion
        /// 
        /// 用户自定义的泛型数据1
        /// 
        public T1 Content1 { get; set; }
        /// 
        /// 用户自定义的泛型数据2
        /// 
        public T2 Content2 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据3
        /// 
        public T3 Content3 { get; set; }
        /// 
        /// 用户自定义的泛型数据4
        /// 
        public T4 Content4 { get; set; }
        /// 
        /// 用户自定义的泛型数据5
        /// 
        public T5 Content5 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据6
        /// 
        public T6 Content6 { get; set; }
        
        /// 
        /// 用户自定义的泛型数据7
        /// 
        public T7 Content7 { get; set; }
        /// 
        /// 用户自定义的泛型数据8
        /// 
        public T8 Content8 { get; set; }
        /// 
        /// 用户自定义的泛型数据9
        /// 
        public T9 Content9 { get; set; }
        /// 
        /// 用户自定义的泛型数据10
        /// 
        public T10 Content10 { get; set; }
    }
}