开发风格:用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,方便复制黏贴
上一条:
下一条:
相关评论
发表评论