开发风格:用theResult做返回和尽可能的做return跳出,避免过多括号闭合

2017-07-21 10:58:38  访问(1297) 赞(0) 踩(0)



旧版本代码


        #region 方法
        /// <summary>
        /// 获取字段关联对象信息
        /// </summary>
        /// <param name="DCAI"></param>
        /// <returns></returns>
        protected string GetLinkClass(DataColumnAttributeInfo DCAI)
        {
            string strLinkClass = string.Empty;

            if (!string.IsNullOrEmpty(DCAI.DataColumnLinkClassName))
            {
                string strClass = string.Empty;

                switch (DCAI.emDataColumnLinkModeValue)
                {
                    case SlowX.Core.Enums.DataColumnLinkMode.EmDataColumnLinkMode.严格多对一:
                    case SlowX.Core.Enums.DataColumnLinkMode.EmDataColumnLinkMode.多对一:
                        strClass = "style=\"color:#f00;\"";
                        break;
                }

                strLinkClass = string.Format("{0}<br>(<span {2}>{1}</span>)", DCAI.DataColumnLinkClassName, DCAI.emDataColumnLinkModeValue, strClass);
            }

            return strLinkClass;
        }
        #endregion 方法

界面效果:


新版本代码

    #region 方法

    /// <summary>
    /// 获得IDataColumnLinkInfo的提示Title
    /// </summary>
    /// <param name="IDCLI"></param>
    /// <returns></returns>
    protected string IDataColumnLinkInfoGetTitle(IDataColumnLinkInfo IDCLI)
    {
        StringBuilder theResult = new StringBuilder();
        theResult.AppendLine("DLL:" + IDCLI.DataColumnLinkDLLName);
        theResult.AppendLine("逻辑类:" + IDCLI.DataColumnLinkClassName);
        theResult.AppendLine("类型:" + IDCLI.emDataColumnLinkValue.ToString());
        theResult.AppendLine("模式:" + IDCLI.emDataColumnLinkModeValue.ToString());
        theResult.AppendLine("数据结构:" + IDCLI.EmDataColumnLinkStructureV.ToString());

        return theResult.ToString();

    }

    /// <summary>
    /// 获取字段关联对象信息
    /// </summary>
    /// <param name="DCAI">字段属性值</param>
    /// <returns></returns>
    protected string GetLinkClass(DataColumnAttributeInfo DCAI)
    {
        string strLinkClass = string.Empty;

        if (DCAI.DataColumnLinkClassName == null ||
            DCAI.DataColumnLinkClassName.Length == 0)
        {
            return "";
        }

        string strClass = string.Empty;

        switch (DCAI.emDataColumnLinkModeValue)
        {
            case SlowX.Core.Enums.DataColumnLinkMode.EmDataColumnLinkMode.严格多对一:
            case SlowX.Core.Enums.DataColumnLinkMode.EmDataColumnLinkMode.多对一:
                strClass = "DefaultRedHref";
                break;
            default:
                strClass = "DefaultHref";
                break;
        }

        IDataColumnLinkInfo IDCLI = DCAI;

        string linkUrl = null;

        switch (IDCLI.emDataColumnLinkValue)
        {

            case SlowX.Core.Enums.DataColumnLink.EmDataColumnLink.不设置:
            case SlowX.Core.Enums.DataColumnLink.EmDataColumnLink.字典表数据源:
            case SlowX.Core.Enums.DataColumnLink.EmDataColumnLink.Xml数据源:
                linkUrl = "";
                break;
            case SlowX.Core.Enums.DataColumnLink.EmDataColumnLink.实体类:
                linkUrl = "../ViewTableDetail/default.aspx?classname="
            + Server.UrlEncode(IDCLI.DataColumnLinkClassName)
            + "&dll="
            + Server.UrlEncode(IDCLI.DataColumnLinkDLLName);
                break;
            case SlowX.Core.Enums.DataColumnLink.EmDataColumnLink.枚举:
                linkUrl = "../ViewEnum/default.aspx?classname="
            + Server.UrlEncode(IDCLI.DataColumnLinkClassName)
            + "&dll="
            + Server.UrlEncode(IDCLI.DataColumnLinkDLLName);
                break;
        }
        

        string theTitle = IDataColumnLinkInfoGetTitle(IDCLI);
        string modelLink = "";

        if (DCAI.emDataColumnLinkModeValue != SlowX.Core.Enums.DataColumnLinkMode.EmDataColumnLinkMode.严格一对一)
            modelLink = "#" + DCAI.emDataColumnLinkModeValue.ToString();

        string theResult = SlowX.Functions.Functions.HtmlSlowXFunctions.GetHref
            (
                linkUrl,
                IDCLI.DataColumnLinkDLLName + "|" + IDCLI.DataColumnLinkClassName+ modelLink,
                theTitle,
                "_blank",
                strClass
            );

        return theResult;
    }

    #endregion 方法

界面效果:


说明:
1、用return做逻辑跳出,避免过多的括号闭合


        if (DCAI.DataColumnLinkClassName == null ||
            DCAI.DataColumnLinkClassName.Length == 0)
        {
            return "";
        }


2、返回值统一用theResult,方便复制黏贴




上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)