C# 可以使用F#的LINQ吗?如何使用?

C# 可以使用F#的LINQ吗?如何使用?,c#,linq,sharepoint,f#,c#-to-f#,C#,Linq,Sharepoint,F#,C# To F#,为了访问某些SharePoint数据,我使用了Microsoft.SharePoint.Client库,该库公开了以下api。C#()中有一些用法示例,其中包含以下代码段: ClientContext context = new ClientContext("http://SiteUrl"); Web web = context.Web; context.Load(web.Lists, lists => lists.Include(list => li

为了访问某些SharePoint数据,我使用了Microsoft.SharePoint.Client库,该库公开了以下api。C#()中有一些用法示例,其中包含以下代码段:

ClientContext context = new ClientContext("http://SiteUrl"); 
Web web = context.Web; 
context.Load(web.Lists, 
             lists => lists.Include(list => list.Title, // For each list, retrieve Title and Id. 
                                    list => list.Id)); 
Load方法的签名为()

公共空荷载(
T clientObject,
参数表达式[]检索
)
其中T:ClientObject
Fsharp编译器期望第二个参数的类型为

Linq.Expressions.Expression<Func<'a,obj>>
Linq.Expressions.Expression>[]
我可以使用F#中的
Load
方法吗?如何使用

有一个相关的答案 但我无法将给定代码示例解决方案转换为上述c#示例。 也许有人能帮忙?
涉及的类型有
list:ListCollection
list:list

这是未测试的,因为我没有SharePoint服务器,但是

open System.Linq.Expressions
type Expr = 
    static member Quote(e:Expression<System.Func<_, _>>) = e
并使用它们来避免函数调用变得不可读

context.Load(web.Lists, 
    Expr.Quote(fun (lists : ListCollection) -> lists.Include(getTitle, getId) :> obj))

工作起来很有魅力。非常感谢你!给出的这个问题的答案对Sharepoint开发人员特别有用。它包含了关于F#lambdas to LINQ的更一般性问题中没有的关键细节。投票重新开放。
open System.Linq.Expressions
type Expr = 
    static member Quote(e:Expression<System.Func<_, _>>) = e
let getTitle = Expr.Quote(fun (list : List) -> list.Title :> obj)
let getId    = Expr.Quote(fun (list : List) -> list.Id :> obj)
context.Load(web.Lists, 
    Expr.Quote(fun (lists : ListCollection) -> lists.Include(getTitle, getId) :> obj))