假設我有下面的代碼行:動態指定lambda函數參數
context.Load(itemCollection, item => item.Include(i => i["Title"], i => i["Name"]));
有沒有什麼辦法可以動態地指定參數的item.Include()
函數,而不是硬編碼它們如上?
我會非常喜歡,讓用戶選擇他們想要檢索對象的屬性,例如Title
,Name
,Description
等
僅供參考,這裏是ClientContext.Load
功能。這個功能是從Microsoft.SharePoint.Client.dll
public void Load<T>(T clientObject, params Expression<Func<T, object>>[] retrievals) where T : ClientObject
{
if ((object) clientObject == null)
throw new ArgumentNullException("clientObject");
ClientAction.CheckActionParameterInContext(this, (object) clientObject);
DataRetrieval.Load<T>(clientObject, retrievals);
}
是的,我總是爲MS CRM庫製作這樣的功能。你想研究'public void MyMethod(Func expression)其中t:'擴展表達式中你想要的類型。無論如何,在Func上搜索更多的例子 –
2013-03-13 00:53:45