我写了一个这样的函数
let GetAllDirectAssignmentsforLists (spWeb : SPWeb) =
spWeb.Lists
|> Seq.cast<SPList>
|> Seq.filter(fun l -> l.HasUniqueRoleAssignments)
|> Seq.collect (fun l -> l.RoleAssignments
|> Seq.cast<SPRoleAssignment>
|> Seq.map(fun ra -> ra.Member)
)
|> Seq.filter (fun p -> p.GetType().Name = "SPUser")
|> Seq.map(fun m -> m.LoginName.ToLower())
l.Title
我想返回一个元组,其中包含发送管道中的列表名称(取自)和m.LoginName.ToLower()
.
有没有一条干净的方法可以让我从上面的管道元件中得到一些东西?
一种方法当然是在管道的第二阶段对返回值进行元组处理,然后将标题一直向下传递....但这会污染代码,所有后续阶段都必须接受并返回元组值为了最后阶段获得价值。
我想知道是否有一个干净和简单的方法......
另外,在管道的第 4 阶段,(fun p -> p.GetType().Name = "SPUser")
如果在这里比较类型,我可以使用吗?而不是转换typename
为string
然后匹配字符串?