C# 动态指定lambda函数参数
假设我有以下代码行:C# 动态指定lambda函数参数,c#,.net,c#-4.0,.net-4.0,lambda,C#,.net,C# 4.0,.net 4.0,Lambda,假设我有以下代码行: context.Load(itemCollection, item => item.Include(i => i["Title"], i => i["Name"])); 是否有任何方法可以动态指定项的参数。包括函数,而不是像上面那样硬编码 理想情况下,我希望允许用户选择他们想要检索对象的属性,如标题、名称、描述等 仅供参考,这是ClientContext.Load函数。此函数来自Microsoft.SharePoint.Client.dll 看看你的答案
context.Load(itemCollection, item => item.Include(i => i["Title"], i => i["Name"]));
是否有任何方法可以动态指定项的参数。包括函数,而不是像上面那样硬编码
理想情况下,我希望允许用户选择他们想要检索对象的属性,如标题、名称、描述等
仅供参考,这是ClientContext.Load函数。此函数来自Microsoft.SharePoint.Client.dll
看看你的答案。
我在创建动态where子句时遇到了类似的问题,这就是我解决问题的方法。我没有必要的设置来测试它,但是类似的东西可以工作吗
String[] keys = ...;
context.Load( itemCollection
, item => item
.Include(keys
.Select(key => { i => i[key] })
.ToArray()
);
使用以下syntaxt在JavaScript中工作,但尚未在C中测试:
context.load(this.list, 'Include(Title, Name)');
“IncludeTitle,Name”是一个字符串,更容易根据用户输入生成
this.list是指以前加载的sharepoint列表。否。我们不知道用户要检索多少密钥属性。上下文的签名是什么。Load和item.Include函数?用您请求的信息更新了我的问题。是的,我一直为MS CRM库创建类似的函数。您希望研究public void MyMethodFunc表达式,其中t:扩展表达式中所需的类型。无论如何,在Func上搜索更多示例
context.load(this.list, 'Include(Title, Name)');