zoukankan      html  css  js  c++  java
  • C#检验参数合法性公用方法

    #region 检验参数合法性,数值类型不小于0,引用类型不能为null,否则抛出异常
            /// <summary>
            /// 检验参数合法性,数值类型不小于0,引用类型不能为null,否则抛出异常
            /// </summary>
            /// <param name="arg">待检参数</param>
            /// <param name="argName">待检参数名称</param>
            /// <param name="canZero">数值类型是否可以为0</param>
            public static bool CheckArgument(object arg, string argName, bool canZero = false)
            {
                ILog log = LogManager.GetLogger(String.Format("CheckArgument_{0}", argName));
                try
                {
                    if (arg == null)
                    {
                        ArgumentNullException argumentNullException = new ArgumentNullException(argName);
                        throw new Exception(String.Format("参数{0}为空,引发异常", argName), argumentNullException);
                    }
    
                    Type t = arg.GetType();
                    if (t.IsValueType && t.IsNumeric())
                    {
                        bool flag = !canZero ? arg.CastTo(0.0) <= 0.0 : arg.CastTo(0.0) < 0.0;
                        if (flag)
                        {
                            ArgumentOutOfRangeException argumentOutOfRangeException = new ArgumentOutOfRangeException(argName);
                            throw new Exception(String.Format("参数{0}不在有效范围内,引发异常", argName), argumentOutOfRangeException);
                        }
                    }
                    if (t == typeof(Guid) && (Guid)arg == Guid.Empty)
                    {
                        ArgumentNullException argumentNullException1 = new ArgumentNullException(argName);
                        throw new Exception(String.Format("参数{0}为空引发GUID异常", argName), argumentNullException1);
                    }
    
                    return true;
                }
                catch (Exception exception)
                {
                    log.Error("检验参数合法性", exception);
                }
                return false;
            }
            #endregion
    

      

  • 相关阅读:
    Excel中删除含有空值的整行或是整列
    Power Pivot(二)
    Power Pivot(一)
    携程数据清洗
    Matplotlib基础绘图
    Pandas 数据清洗常见方法
    天猫美妆数据清洗步骤概括
    淘宝美妆双十一数据可视化(下)
    淘宝美妆双十一数据清洗(上)
    乐高天猫旗舰店数据分析
  • 原文地址:https://www.cnblogs.com/zhao-yi/p/6237072.html
Copyright © 2011-2022 走看看