为了备份目的(因为用户很不小心删除了他们不应该做的事情)我正在尝试编写一些软件来将公司用户"One Drives"的内容下载到公司网络,以便我们可以备份它们,以防万一他们删除任何东西
我目前正在使用Microsoft.SharePoint.Client这样做.我也觉得OneDrive For Business与OneDrive的不同之处(它与Sharepoint的纠缠)相差甚远.
例如......如果我的OneDrive网址是 https://accountname-my.sharepoint.com/personal/firstname_lastname_mycompany_com/Documents/
我可以成功列出文档根目录中的所有文件夹,并下载Documents文件夹根目录中的所有文件.
这是列出文档中文件夹的示例.
public void Listfiles()
{
var folders = ListFolders(dirPath, clientContext, web);
// now do something with results contained in 'folders'
}
public List GetDocumentLibrary(string libraryName, ClientContext clientContext, Web web)
{
var query = clientContext.LoadQuery(web.Lists.Where(p => p.Title == libraryName));
clientContext.ExecuteQuery();
return query.FirstOrDefault();
}
public List<Folder> ListFolders(string libraryName, ClientContext clientContext, Web web)
{
var list = GetDocumentLibrary(libraryName, clientContext, web);
var folders = list.RootFolder.Folders;
clientContext.Load(folders);
clientContext.ExecuteQuery();
return folders.ToList();
}
Run Code Online (Sandbox Code Playgroud)
此代码适用于返回Documents文件夹中的文件夹列表,但是,我的问题是尝试列出其中一个文件夹的内容.
如果我尝试运行上面相同的代码,这次我会抛出以下异常.
An unhandled …Run Code Online (Sandbox Code Playgroud) 我有一个简化版本,我想在下面做.我有一个由SolarSystem类使用的类Planet.我想使用foreach循环为SolarSystem中的每个Planet编写orbitTimeInDays.
错误CS1579 foreach语句无法对"TestEnum.SolarSystem"类型的变量进行操作,因为"TestEnum.SolarSystem"不包含"GetEnumerator"的公共定义
问题是枚举,我已经阅读了几篇关于使对象可枚举的文章和问题,但我似乎无法弄清楚如何将它应用于SolarSystem,因此我可以检查它构造的每个星球.(最终它也将包含小行星等,所以它不仅仅是8个行星和冥王星.)
有人可以帮我理解如何枚举SolarSystem.
class Program
{
static void Main(string[] args)
{
SolarSystem solarSystem = new SolarSystem();
solarSystem.mercury.orbitTimeInDays = 88;
solarSystem.venus.orbitTimeInDays = 225;
// etc...
foreach (Planet planet in solarSystem)
{
Console.WriteLine("Time taken to orbit sun (in days) : " + planet.orbitTimeInDays.ToString());
}
}
}
public class Planet
{
public double distanceFromEarth { get; set; }
public int orbitTimeInDays { get; set; }
// etc...
public Planet() { }
}
public class SolarSystem
{
public Planet mercury { get; …Run Code Online (Sandbox Code Playgroud)