OperateResult 基础类及派生类介绍

本文介绍了如何利用OperateResult基类及其派生类来管理方法的执行状态和返回值。通过NuGet安装后,这些类可以帮助开发者在执行复杂功能时返回操作成功与否的信息,以及错误代码和额外的自定义结果。文章通过读取文件内容的示例,展示了该工具类的使用方法,提供源代码供学习和参考。
摘要由CSDN通过智能技术生成

前言


在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台输入下面的指令安装:

Install-Package HslCommunication

NuGet安装教程  http://www.cnblogs.com/dathlin/p/7705014.html

概述


通常我们执行一个方法的时候,方法会实现一堆复杂的功能,我们需要知道是否操作成功,如果操作失败,失败结果又是什么,失败代号又是什么。

除了上面的场景外,我们可能还会返回一个自己需要的结果值,比如一个额外的string对象,Bitmap对象,甚至是自定义的对象,使用本工具的类可以轻松实现,提供了从1一个自定义对象到10个自定义对象的派生类,以满足您日常的绝大多使用情况。

 

举例


此处定义了一个方法,传入文件路径,输出文件内容,事实上这个方法是很容易出现异常的,由于文件不存在,文件被占用,文件路径太长等等,如下的方法就可以相对优雅的读取内容:

        /// <summary>
        /// 输入一个文件名,输出文件名的内容
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        private HslCommunication.OperateResult<string> GetInformation(string fileName)
        {
            HslCommunication.OperateResult<string> result = new HslCommunication.OperateResult<string>();

            try
            {
                using (System.IO.StreamReader sr = new System.IO.StreamReader(fileName, Encoding.UTF8))
                {
                    result.Content = sr.ReadToEnd();
                    result.IsSuccess = true;
                }
            }
            catch(Exception ex)
            {
                result.Message = ex.Message;
            }

            return result;
        }

至于调用它,也是非常的方便:

        private void userButton10_Click(object sender, EventArgs e)
        {
            HslCommunication.OperateResult<string> result = GetInformation("D:\\123.txt");
            if(result.IsSuccess)
            {
                MessageBox.Show(result.Content);
            }
            else
            {
                MessageBox.Show("读取失败:" + result.Message);
            }
        }

 

下面就贴出这个类及派生类的源代码,方便大家使用及学习:

    /// <summary>
    /// 操作结果的类,只带有成功标志和错误信息
    /// </summary>
    public class OperateResult
    {
        /// <summary>
        /// 指示本次访问是否成功
        /// </summary>
        public bool IsSuccess { get; set; }


        /// <summary>
        /// 具体的错误描述
        /// </summary>
        public string Message { get; set; } = StringResources.UnknownError;


        /// <summary>
        /// 具体的错误代码
        /// &l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值