开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5959|回复: 6
收起左侧

[C#源码] 字符串通用检查类

[复制链接]
发表于 2018-7-20 14:55:46 | 显示全部楼层 |阅读模式   广东省珠海市
/// <summary>
    ///
    /// </summary>
    public static class Requires
    {
        /// <summary>
        /// 要求给定的参数不能是null
        /// </summary>
        /// <param name="parameter">参数</param>
        /// <param name="parameterName">参数名称</param>
        /// <exception cref="System.ArgumentNullException"/>
        public static void NotNull(object parameter, string parameterName)
        {
            if (parameter == null)
                throw new ArgumentNullException(parameterName);
        }
        /// <summary>
        /// 要求给定的字符串不能是null或者是空
        /// </summary>
        /// <param name="parameter">字符串参数</param>
        /// <param name="parameterName">参数名称</param>
        /// <exception cref="System.ArgumentException"/>
        public static void NotNullOrEmpty(string parameter, string parameterName)
        {
            if (string.IsNullOrEmpty(parameter))
                throw new ArgumentException(
                    "Parameter {0} is null or empty".FormatWith(parameterName), parameterName);
        }
        /// <summary>
        /// 要求给定的字符串不能是null、空字符串或者全是空白字符
        /// </summary>
        /// <param name="parameter">字符串参数</param>
        /// <param name="parameterName">参数名称</param>
        /// <exception cref="System.ArgumentException"/>
        public static void NotNullOrWhiteSpace(string parameter, string parameterName)
        {
            if (string.IsNullOrWhiteSpace(parameter))
                throw new ArgumentException(
                    "Parameter {0} is null or whitespace".FormatWith(parameterName), parameterName);
        }
        /// <summary>
        /// 要求满足特定的条件
        /// </summary>
        /// <param name="criteria">条件</param>
        /// <param name="parameterName">参数名称</param>
        /// <param name="message">消息</param>
        public static void Satisfy(Func<bool> criteria, string parameterName, string message)
        {
            if (criteria == null)
                return;
            if (!criteria())
                throw new ArgumentException(message, parameterName);
        }
    }
 楼主| 发表于 2018-7-21 21:04:38 | 显示全部楼层   广东省珠海市
suneggs 发表于 2018-7-21 21:00
字符串的相关方法归为字符串的扩展方法,划分会更自然些。
而且,可以结合.语法把语句串连起来。
个人 ...

我觉得吧,不同的作用区分开,按大体的类别划分,这个是检查的,不是字符串操作,个人意见,这个划分后简洁
回复 支持 反对

使用道具 举报

发表于 2018-7-21 21:00:43 | 显示全部楼层   广东省东莞市
hnzrb 发表于 2018-7-21 19:47
什么都写到一个扩展类的话,这个类不是很臃肿,不利于对象编程

字符串的相关方法归为字符串的扩展方法,划分会更自然些。
而且,可以结合.语法把语句串连起来。
个人愚见。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-21 19:47:58 | 显示全部楼层   湖南省常德市
suneggs 发表于 2018-7-21 16:21
“ test".NotNullOrWhiteSpace()
你不觉得这样调用更好些?

什么都写到一个扩展类的话,这个类不是很臃肿,不利于对象编程
回复 支持 反对

使用道具 举报

发表于 2018-7-21 16:21:10 | 显示全部楼层   广东省东莞市
hnzrb 发表于 2018-7-21 15:28
这个是个字符串检查类,写成扩展那意义就补一样了

“ test".NotNullOrWhiteSpace()
你不觉得这样调用更好些?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-21 15:28:35 | 显示全部楼层   广东省珠海市
suneggs 发表于 2018-7-21 13:48
朋友,这个弄成扩展方法要更好些。如果搞成类,类就太多了,造成代码调用太零碎。你能记得多少个类(即使是 ...

这个是个字符串检查类,写成扩展那意义就补一样了
回复 支持 反对

使用道具 举报

发表于 2018-7-21 13:48:59 | 显示全部楼层   广东省东莞市
朋友,这个弄成扩展方法要更好些。如果搞成类,类就太多了,造成代码调用太零碎。你能记得多少个类(即使是自己写的类)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表