Unit相关的方法 - UnitSlowXFunctions

2017-07-09 21:27:06  访问(1445) 赞(0) 踩(0)


using System;
using System.Reflection;
using System.Web.UI.WebControls;


namespace SlowX.Functions.Functions
{
    /// <summary>
    /// Unit相关的方法 - UnitSlowXFunctions 
    /// </summary>
    public class UnitSlowXFunctions
    {
        #region 常数值

        /// <summary>
        /// 15px
        /// </summary>
        public readonly static Unit pixel15 = Unit.Pixel(15);

        /// <summary>
        /// 30px
        /// </summary>
        public readonly static Unit pixel30 = Unit.Pixel(30);

        /// <summary>
        /// 35px
        /// </summary>
        public readonly static Unit pixel35 = Unit.Pixel(35);

        /// <summary>
        /// 40px
        /// </summary>
        public readonly static Unit pixel40 = Unit.Pixel(40);

        /// <summary>
        /// 50px
        /// </summary>
        public readonly static Unit pixel50 = Unit.Pixel(50);

        /// <summary>
        /// 75px
        /// </summary>
        public readonly static Unit pixel75 = Unit.Pixel(75);

        /// <summary>
        /// 100px
        /// </summary>
        public readonly static Unit pixel100 = Unit.Pixel(100);

        /// <summary>
        /// 120px
        /// </summary>
        public readonly static Unit pixel120 = Unit.Pixel(120);

        /// <summary>
        /// 130px
        /// </summary>
        public readonly static Unit pixel130 = Unit.Pixel(130);

        /// <summary>
        /// 150px
        /// </summary>
        public readonly static Unit pixel150 = Unit.Pixel(150);

        /// <summary>
        /// 200px
        /// </summary>
        public readonly static Unit pixel200 = Unit.Pixel(200);


        /// <summary>
        /// 250px
        /// </summary>
        public readonly static Unit pixel250 = Unit.Pixel(250);


        /// <summary>
        /// 350px
        /// </summary>
        public readonly static Unit pixel350 = Unit.Pixel(350);

        /// <summary>
        /// 450px
        /// </summary>
        public readonly static Unit pixel450 = Unit.Pixel(450);

        /// <summary>
        /// 500px
        /// </summary>
        public readonly static Unit pixel500 = Unit.Pixel(500);


        /// <summary>
        /// 600px
        /// </summary>
        public readonly static Unit pixel600 = Unit.Pixel(600);


        /// <summary>
        /// 700px
        /// </summary>
        public readonly static Unit pixel700 = Unit.Pixel(700);


        /// <summary>
        /// 750px
        /// </summary>
        public readonly static Unit pixel750 = Unit.Pixel(750);

        /// <summary>
        /// 800px
        /// </summary>
        public readonly static Unit pixel800 = Unit.Pixel(800);


        #endregion

        /// <summary>
        /// 是否为空 Unit theValue == Unit.Empty - IsEmpty
        /// </summary>
        /// <param name="theValue"></param>
        /// <returns></returns>
        public static bool IsEmpty(Unit theValue)
        {
            return (theValue == Unit.Empty);
        }

        /// <summary>
        /// 是否非空
        /// </summary>
        /// <param name="theValue"></param>
        /// <returns></returns>
        public static bool IsNotEmpty(Unit theValue)
        {
            return (theValue != Unit.Empty);
        }

        /// <summary>
        /// 获得Unit.Empty
        /// </summary>
        /// <returns></returns>
        public static Unit UnitEmpty()
        {
            return Unit.Empty;
        }

        /// <summary>
        /// 获得非空的Unit
        /// 如果u == Unit.Empty,返回udefault
        /// 否则返回u
        /// </summary>
        /// <param name="u"></param>
        /// <param name="udefault"></param>
        /// <returns></returns>
        public static Unit GetUnitNoEmpty(Unit u, Unit udefault)
        {
            if (u == Unit.Empty)
                return udefault;
            else
                return u;
        }

        /// <summary>
        /// 10px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel10()
        {
            return Pixel(10);
        }


        /// <summary>
        /// 75px;
        /// </summary>
        /// <returns></returns>
        public static Unit UnitDefaultNumberWidth()
        {
            return Pixel(92);
        }

        /// <summary>
        /// 350px;
        /// </summary>
        /// <returns></returns>
        public static Unit UnitDefaultDetailWidth()
        {
            return Pixel350();
        }


        /// <summary>
        /// 75px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel75()
        {
            return Pixel(75);
        }

        /// <summary>
        /// 100px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel100()
        {
            return Pixel(100);
        }

        /// <summary>
        /// 150;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel150()
        {
            return Pixel(150);
        }

        /// <summary>
        /// 200px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel200()
        {
            return Pixel(200);
        }

        /// <summary>
        /// 350px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel350()
        {
            return Pixel(350);
        }

        /// <summary>
        /// Unit.Pixel(n)
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public static Unit Pixel(int n)
        {
            Unit theResult = Unit.Pixel(n);

            return theResult;
        }

        /// <summary>
        /// 0px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel0()
        {
            return Pixel(0);
        }

        /// <summary>
        /// 1px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel1()
        {
            return Pixel(1);
        }

        /// <summary>
        /// 25px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel25()
        {
            return Pixel(25);
        }

        /// <summary>
        /// 30px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel30()
        {
            return Pixel(30);
        }

        /// <summary>
        /// 200px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel400()
        {
            return Pixel(400);
        }

        /// <summary>
        /// 250px;
        /// </summary>
        /// <returns></returns>
        public static Unit Pixel250()
        {
            return Pixel(250);
        }

        /// <summary>
        /// 100%
        /// </summary>
        /// <returns></returns>
        public static Unit Percentage100()
        {
            return Percentage(100);
        }

        /// <summary>
        /// 98%
        /// </summary>
        /// <returns></returns>
        public static Unit Percentage98()
        {
            return Percentage(98);
        }

        /// <summary>
        /// 99%
        /// </summary>
        /// <returns></returns>
        public static Unit Percentage99()
        {
            return Percentage(99);
        }

        /// <summary>
        /// Unit.Percentage(n); 
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public static Unit Percentage(double n)
        {
            Unit theResult = Unit.Percentage(n);

            return theResult;
        }

        /// <summary>
        /// 获得Unit
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static Unit GetUnit(object obj)
        {
            return GetUnit(obj, Unit.Empty);
        }

        /// <summary>
        /// 获得Unit
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="udefault"></param>
        /// <returns></returns>
        public static Unit GetUnit(object obj, Unit udefault)
        {
            return GetUnit(obj, udefault, false);
        }

        /// <summary>
        /// 获得Unit
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="bIsThrowError"></param>
        /// <returns></returns>
        public static Unit GetUnit(object obj, bool bIsThrowError)
        {
            return GetUnit(obj, Unit.Empty, bIsThrowError);
        }

        /// <summary>
        /// 获得Unit
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="udefault"></param>
        /// <param name="bIsThrowError"></param>
        /// <returns></returns>
        public static Unit GetUnit(object obj, Unit udefault, bool bIsThrowError)
        {
            if (obj == null)
            {
                if (bIsThrowError)
                    throw new Exception("不是Unit类型");

                return udefault;
            }

            if (obj is Unit)
                return (Unit)obj;
            else
            {
                if (bIsThrowError)
                    throw new Exception("不是Unit类型");

                return udefault;
            }
        }



        /// <summary>
        /// Unit转换
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static Unit UnitParse(object obj)
        {
            return UnitParse(obj, false);
        }

        /// <summary>
        /// Unit转换
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="udefault"></param>
        /// <returns></returns>
        public static Unit UnitParse(object obj, Unit udefault)
        {
            return UnitParse(obj, udefault, false);
        }

        /// <summary>
        /// Unit转换
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="bIsThrowError"></param>
        /// <returns></returns>
        public static Unit UnitParse(object obj, bool bIsThrowError)
        {
            return UnitParse(obj, Unit.Empty, bIsThrowError);
        }

        /// <summary>
        /// Unit转换
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="udefault"></param>
        /// <param name="bIsThrowError"></param>
        /// <returns></returns>
        public static Unit UnitParse(object obj, Unit udefault, bool bIsThrowError)
        {
            if (obj is Unit)
                return (Unit)obj;

            Unit uHeight = udefault;

            try
            {
                if (obj == null || obj.ToString().Trim().Length == 0)
                    return udefault;

                int iValue = 0;

                if(int.TryParse(obj.ToString(),out iValue))
                {
                    if (iValue > 0)
                        uHeight = Unit.Pixel(iValue);

                    return uHeight;
                }
                else
                    return Unit.Parse(obj.ToString());
            }
            catch (Exception err)
            {
                if (bIsThrowError)
                    throw err;
                else
                    return udefault;
            }
        }


        /// <summary>
        /// Unit转换
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static Unit UnitParseByInt(object obj)
        {
            return UnitParseByInt(obj, false);
        }

        /// <summary>
        /// Unit转换
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="udefault"></param>
        /// <returns></returns>
        public static Unit UnitParseByInt(object obj, Unit udefault)
        {
            return UnitParseByInt(obj, udefault, false);
        }

        /// <summary>
        /// Unit转换
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="bIsThrowError"></param>
        /// <returns></returns>
        public static Unit UnitParseByInt(object obj, bool bIsThrowError)
        {
            return UnitParseByInt(obj, Unit.Empty, bIsThrowError);
        }

        /// <summary>
        /// Unit转换
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="udefault"></param>
        /// <param name="bIsThrowError"></param>
        /// <returns></returns>
        public static Unit UnitParseByInt(object obj, Unit udefault, bool bIsThrowError)
        {
            if (obj is Unit)
                return (Unit)obj;

            Unit uHeight = udefault;

            try
            {
                if (obj == null || obj.ToString().Trim().Length == 0)
                {
                    if (bIsThrowError)
                    {

                        throw new Exception
                            (
                                "方法:"
                                + MethodBase.GetCurrentMethod().ReflectedType.FullName
                                + " "
                                + MethodBase.GetCurrentMethod().ToString()
                                + " 发生异常:"
                                + "传入的字符串参数:object obj为null或trim后为空。"
                            );
                    }
                    else
                        return udefault;
                }

                int iValue = 0;

                if (int.TryParse(obj.ToString(), out iValue))
                {
                    if (iValue > 0)
                        return Unit.Pixel(iValue);
                    else if (iValue == 0)
                        return Unit.Empty;
                    else
                        return Unit.Percentage(-iValue);
                }
                else
                    return Unit.Parse(obj.ToString());
            }
            catch (Exception err)
            {

                if (bIsThrowError)
                    throw err;
                else
                    return udefault;
            }
        }

        /// <summary>
        /// 通过Int获得Unit
        /// </summary>
        /// <param name="theValue"></param>
        /// <returns></returns>
        public static Unit GetUnitByInt(int theValue)
        {
            if (theValue == 0)
                return Unit.Empty;

            if (theValue > 0)
                return Pixel(theValue);

            return Percentage(-theValue);
        }

        /// <summary>
        /// 获得Unit的ToString
        /// </summary>
        /// <param name="u"></param>
        /// <returns></returns>
        public static string GetUnitStr(Unit u)
        {
            if (u == Unit.Empty)
                return "";
            else
                return u.ToString();
        }

        /// <summary>
        /// 获得Unit的ToString
        /// </summary>
        /// <param name="u"></param>
        /// <param name="strDefault"></param>
        /// <returns></returns>
        public static string GetUnitStr(Unit u, string strDefault)
        {
            if (u == Unit.Empty)
                return strDefault;
            else
                return u.ToString();
        }



    }
}


上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)