如何实现Microsoft.Sharepoint.Client.ListItem转Microsoft.Sharepoint.Client.File
你尝试的两种直接类型转换写法均无法生效,因为Microsoft.Sharepoint.Client.ListItem和Microsoft.Sharepoint.Client.File是SharePoint CSOM中两个独立的对象类型,不存在派生关系,不支持直接类型转换。
正确的实现方式是通过ListItem内置的File属性获取对应文件对象,注意CSOM默认采用延迟加载机制,必须显式向上下文请求加载File属性后才能正常取值,示例代码如下:
// 前提:已完成ClientContext初始化并完成身份验证,listItem为你预先获取到的列表项实例 context.Load(listItem, item => item.File); context.ExecuteQuery(); Microsoft.Sharepoint.Client.File targetFile = listItem.File;
补充说明:仅文档库内的列表项会返回有效的File对象,普通自定义列表、通知列表等没有对应实体文件的列表项,调用File属性会返回null。
内容的提问来源于stack exchange,提问作者Alea
相关产品推荐
相关产品推荐

