前言
在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