自然不是在可读性方面,因为您总是可以将单独的方法安排到单独的行中。相反,出于某种原因,将过多的方法链接在一起是否危险?我使用方法链接主要是为了节省声明单个一次性变量的空间,并且传统上使用返回方法而不是修改调用者的方法。除了字符串方法,我有点无情地链接了那些方法。无论如何,我有时会担心在一行中使用异常长的方法链的影响。
假设我需要根据某人的用户名更新一项的值。不幸的是,检索正确用户的最短方法如下所示。
SPWeb web = GetWorkflowWeb();
SPList list2 = web.Lists["Wars"];
SPListItem item2 = list2.GetItemById(3);
SPListItem item3 = item2.GetItemFromLookup("Armies", "Allied Army");
SPUser user2 = item2.GetSPUser("Commander");
SPUser user3 = user2.GetAssociate("Spouse");
string username2 = user3.Name;
item1["Contact"] = username2;
带有 2 或 3 的所有内容仅持续一个调用,因此我可以将其浓缩为以下内容(这也让我摆脱了可能是多余的 1):
SPWeb web = GetWorkflowWeb();
item["Contact"] = web.Lists["Armies"]
.GetItemById(3)
.GetItemFromLookup("Armies", "Allied Army")
.GetSPUser("Commander")
.GetAssociate("Spouse")
.Name;
诚然,当它全部在一行中并且当你有int.Parse(ddlArmy.SelectedValue.CutBefore(";#", false))
而不是3
. 尽管如此,这是这些链的平均长度之一,我可以很容易地预见到一些特别长的计数。排除可读性,这 10 多个方法链有什么我应该担心的吗?还是使用非常长的方法链没有害处?