C# 将 Microsoft.Sharepoint.Client.FieldUserValue 转换为 Microsoft.Sharepoint.Cliend.User

C# convert Microsoft.Sharepoint.Client.FieldUserValue to Microsoft.Sharepoint.Cliend.User

好的,我正在使用 Caml 查询从共享点列表中检索项目。我通过字段值将项目循环到我想要的那个。我的问题是我需要将 FieldUserValue 数据类型转换为普通用户数据类型。有一种方法可以从 User 中检索 FieldUserValue,但反过来不行...

 User Usr;


        foreach (ListItem item in items)
        {
            foreach (var f in item.FieldValues)
            {
                if (f.Key == "ColumnTitleofDataTypePersonorGroup")
                {
                    //Error Message
                    Usr = f.Value;
                }
            }

        }

详细的错误消息说 错误 2 无法将类型 'object' 隐式转换为 'Microsoft.SharePoint.Client.User'。存在显式转换(是否缺少转换?)
我想我只是错过了一些明显的东西.. 提前感谢您的帮助..

下面的例子演示了如何得到User object from FieldUserValue object:

var list = ctx.Web.Lists.GetByTitle(listTitle);
var item = list.GetItemById(itemId);
ctx.Load(item);
ctx.ExecuteQuery();

var author = (Microsoft.SharePoint.Client.FieldUserValue) item["Author"];
var authorUser = ctx.Web.SiteUsers.GetById(author.LookupId);
ctx.Load(authorUser);
ctx.ExecuteQuery();