- 浏览: 193619 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
项目中出现的问题:
项目中会有很多地方用到文字提醒,如果在每个页面都输入相同的文字,后期修改就比较麻烦。
延伸:如果是写api接口不仅要有提示,还得附带错误code值,不同业务类型,code值也应该有差异化
解决思路:
将所有的文字提醒写在一个枚举类型中,通过对枚举类型来管理。
好处:相同的提醒只需更改一次,项目中所有用到的地方都可以更改过来
方法:
首先新建枚举类
其次需要一个枚举帮助类,帮我们读取描述文件
这样就方便管理了,如果有更好的方法,欢迎大家分享,共同进步
项目中会有很多地方用到文字提醒,如果在每个页面都输入相同的文字,后期修改就比较麻烦。
延伸:如果是写api接口不仅要有提示,还得附带错误code值,不同业务类型,code值也应该有差异化
解决思路:
将所有的文字提醒写在一个枚举类型中,通过对枚举类型来管理。
好处:相同的提醒只需更改一次,项目中所有用到的地方都可以更改过来
方法:
首先新建枚举类
/// <summary> /// api 响应状态吗 /// </summary> public enum ResultCode { /// <summary> /// 操作成功 /// </summary> [Description("成功")] Success = 10000, /// <summary> ///系统繁忙,请稍后再试 /// </summary> [Description("系统繁忙,请稍后再试")] Faild = 10001, /// <summary> /// 登陆时效已过,请重新登录 /// </summary> [Description("登录时效已过,请重新登录")] CustomerTokenError = 10002, /// <summary> /// 用户不存在 /// </summary> [Description("用户不存在")] CustomerNotExist = 20001, /// <summary> /// 密码不能少于6位 /// </summary> [Description("密码不能少于6位")] PasswordIsShort = 20002, /// <summary> /// 没有数据 /// </summary> [Description("没有数据")] NoData = 30001, /// <summary> /// 没有更多数据 /// </summary> [Description("没有更多数据")] NoMoreData = 30002, } /// <summary> /// api 响应实体 /// </summary> public class ResponseResult { //public string Status { get; set; } /// <summary> /// 响应状态码 /// </summary> public int Code { get; set; } /// <summary> /// 响应消息 /// </summary> public string Message { get; set; } /// <summary> /// 响应时间 /// </summary> public string Time { get; set; } /// <summary> /// 返回数据 /// </summary> public dynamic Result { get; set; } /// <summary> /// 根据枚举类型,返回错误代码 /// </summary> /// <param name="code">返回响应码状态枚举</param> /// <returns>ResponseResult类</returns> public static ResponseResult GenFaildResponse(ResultCode code = ResultCode.Faild) { return new ResponseResult { Code = (int)code, Message = code.GetDescription(), Time = DateTime.Now.ToString() }; } /// <summary> /// 执行失败,code:10001,返回错误的data /// </summary> /// <param name="data">data</param> /// <returns></returns> public static ResponseResult GenFaildResponse(dynamic data) { return new ResponseResult { Code = (int)ResultCode.Faild, Message = ResultCode.Faild.GetDescription(), Time = DateTime.Now.ToString(), Result = data }; } /// <summary> /// 返回执行失败消息,code:10001 msg=参数 /// </summary> /// <param name="msg">错误消息</param> /// <returns>API响应实体</returns> public static ResponseResult GenFaildResponse(string msg) { return new ResponseResult { Code = (int)ResultCode.Faild, Message = msg, Time = DateTime.Now.ToString() }; } /// <summary> /// 执行成功后,返回code:10000 描述:执行成功及数据data /// </summary> /// <param name="data">要返回的数据,可以为空</param> /// <returns>API响应实体</returns> public static ResponseResult GenSuccessResponse(dynamic data = null) { return new ResponseResult { Code = (int)ResultCode.Success, Message = ResultCode.Success.GetDescription(), Time = DateTime.Now.ToString(), Result = data }; } }
其次需要一个枚举帮助类,帮我们读取描述文件
public static class EnumHelper { /// <summary> /// 获取枚举变量值的 Description 属性 /// </summary> /// <param name="obj">枚举变量</param> /// <returns>如果包含 Description 属性,则返回 Description 属性的值,否则返回枚举变量值的名称</returns> public static string GetDescription(this Enum obj) { return GetDescription(obj, false); } /// <summary> /// 获取枚举变量值的 Description 属性 /// </summary> /// <param name="obj">枚举变量</param> /// <param name="isTop">是否改变为返回该类、枚举类型的头 Description 属性,而不是当前的属性或枚举变量值的 Description 属性</param> /// <returns>如果包含 Description 属性,则返回 Description 属性的值,否则返回枚举变量值的名称</returns> public static string GetDescription(this Enum obj, bool isTop) { if (obj == null) { return string.Empty; } try { Type _enumType = obj.GetType(); DescriptionAttribute dna = null; if (isTop) { dna = (DescriptionAttribute)Attribute.GetCustomAttribute(_enumType, typeof(DescriptionAttribute)); } else { FieldInfo fi = _enumType.GetField(Enum.GetName(_enumType, obj)); dna = (DescriptionAttribute)Attribute.GetCustomAttribute( fi, typeof(DescriptionAttribute)); } if (dna != null && string.IsNullOrEmpty(dna.Description) == false) return dna.Description; } catch { } return obj.ToString(); } }
这样就方便管理了,如果有更好的方法,欢迎大家分享,共同进步
发表评论
-
C# zip文件解压压缩帮助类
2019-08-30 11:43 604原文: https://www.cnblogs.com/sun ... -
使用ITextSharp对pdf文件打水印
2019-08-19 17:13 832在项目中需要对pdf文件中的部分信息进行遮挡隐藏,于是找到了I ... -
HMAC_SHA1加密
2019-08-16 10:36 1015hmacsha1在很多签名计算中都很常用了,这里对两种可能返回 ... -
.NET/java Office组件神器——Aspose.Total 17.x/18.x/19.x破解版+破解补丁下载【转】
2019-07-29 15:22 2761先上大神的网站地址: [url] https://masuit ... -
通过UserAgent判断智能手机(设备,Android,IOS)【转】
2019-07-02 17:51 1069///<summary> /// ... -
8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码【转】
2019-06-12 17:36 2435服务器使用了word的类库,在使用过程中日志报标题错误 解决 ... -
C#(同步调用、异步调用、异步回调)--转
2019-06-05 12:04 729本文将主要通过“同步调用”、“异步调用”、“异步回调”三个示例 ... -
C# 利用word书签写入自定义数据
2019-05-14 18:08 666原文参考地址: https://www.cnblogs.com ... -
C# 项目中引用office组件后在服务器遇到的问题集锦
2019-02-13 16:03 9721、要在服务器安装相同版本的office完整版程序 本地测试机 ... -
C# word转pdf
2019-01-17 14:55 702写在最前面,如果要部署,服务器需要安装相同版本的office, ... -
C# 操作word
2019-01-17 14:49 540需要单独引入的是COM中的Microsoft Office 1 ... -
给上传的文件生成缩略图(图片和视频)
2018-11-28 17:47 899备注:里面用到的ffmpeg ... -
获取视频文件的截图
2018-11-28 17:36 741视频获取第一帧截图的方法: https://www.cnblo ... -
excel文件转为DataTable
2018-11-02 17:38 1619在人员初始化的时候,通常会用到excel编辑好,导入到数据库中 ... -
DataTable导出excel
2018-11-02 16:36 1163网上有很多关于导出的例子,这里讲一个利用NPOI导出excel ... -
未能加载文件或程序集,System.Net.Http或它的某一个依赖项。系统找不到指定的文件。
2018-10-30 17:21 4947具体的错误描述: 未能加载文件或程序集“System.Net. ... -
将app请求的简单json串转化为字典
2017-11-16 11:18 837通过Newtonsoft的DeserializeObject& ... -
WebAPI启用session功能
2017-11-16 11:04 1791第一步:简单建立两个类,以备修改WebApi的路由方式 第一 ... -
webapi记录请求和返回日志
2017-11-15 17:12 2182需求: 记录每个接口的请求参数及返回参数,方便以后回溯 fi ... -
超过了最大请求长度。System.Web.HttpException
2017-11-13 16:50 2458请在服务器端配置 方法一: 在通过WebSer ...
相关推荐
对于大量枚举值的情况,为避免枚举枚举时性能问题,可以考虑使用ObservableCollection配合EnumHelper类生成枚举值的集合。 7. 遗留问题与挑战 枚举绑定虽然强大,但也会遇到一些挑战,比如枚举值的排序、枚举值的...
枚举操作公共类(EnumHelper.cs) 身份证操作辅助类(IDCardHelper.cs) 检测字符编码的类(IdentifyEncoding.cs) RGB颜色操作辅助类(MyColors.cs) 日期操作类(MyDateTime.cs) 转换人民币大小金额辅助类...
枚举操作公共类(EnumHelper.cs) 身份证操作辅助类(IDCardHelper.cs) 检测字符编码的类(IdentifyEncoding.cs) RGB颜色操作辅助类(MyColors.cs) 日期操作类(MyDateTime.cs) 转换人民币大小金额辅助类...
枚举操作公共类(EnumHelper.cs) 身份证操作辅助类(IDCardHelper.cs) 检测字符编码的类(IdentifyEncoding.cs) RGB颜色操作辅助类(MyColors.cs) 日期操作类(MyDateTime.cs) 转换人民币大小金额辅助类(RMBUtil.cs...
枚举操作公共类(EnumHelper.cs) 身份证操作辅助类(IDCardHelper.cs) 检测字符编码的类(IdentifyEncoding.cs) RGB颜色操作辅助类(MyColors.cs) 日期操作类(MyDateTime.cs) 转换人民币大小金额辅助类(RMBUtil.cs...
枚举操作公共类(EnumHelper.cs) 身份证操作辅助类(IDCardHelper.cs) 检测字符编码的类(IdentifyEncoding.cs) RGB颜色操作辅助类(MyColors.cs) 日期操作类(MyDateTime.cs) 转换人民币大小金额辅助类(RMBUtil.cs...
6.枚举操作公共类(EnumHelper.cs) 7.身份证操作辅助类(IDCardHelper.cs) 8.检测字符编码的类(IdentifyEncoding.cs) 9.RGB颜色操作辅助类(MyColors.cs) 10.日期操作类(MyDateTime.cs) 11.转换人民币大小金额...
枚举操作公共类(EnumHelper.cs) 身份证操作辅助类(IDCardHelper.cs) 检测字符编码的类(IdentifyEncoding.cs) RGB颜色操作辅助类(MyColors.cs) 日期操作类(MyDateTime.cs) 转换人民币大小金额辅助类...
20. **枚举操作**:`EnumHelper`提供对枚举类型的扩展方法,如获取枚举值的描述、枚举项的集合等。 以上只是部分知识点,实际的100个C#辅助类可能会涵盖更广泛的内容。这些辅助类体现了C#的面向对象特性,通过封装...
枚举操作公共类(EnumHelper.cs) 身份证操作辅助类(IDCardHelper.cs) 检测字符编码的类(IdentifyEncoding.cs) RGB颜色操作辅助类(MyColors.cs) 日期操作类(MyDateTime.cs) 转换人民币大小金额辅助类...
枚举操作公共类(EnumHelper.cs) 身份证操作辅助类(IDCardHelper.cs) 检测字符编码的类(IdentifyEncoding.cs) RGB颜色操作辅助类(MyColors.cs) 日期操作类(MyDateTime.cs) 转换人民币大小金额辅助类...
6. 枚举操作公共类(EnumHelper.cs) 7. 身份证操作辅助类(IDCardHelper.cs) 8. 检测字符编码的类(IdentifyEncoding.cs) 9. RGB颜色操作辅助类(MyColors.cs) 10. 日期操作类(MyDateTime.cs) 11. 转换人民币大小...