Поделиться через


Класс SPFolderCollection

Представляет коллекцию объектов SPFolder .

Иерархия наследования

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.SPBaseCollection
      Microsoft.SharePoint.SPFolderCollection

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Public Class SPFolderCollection _
    Inherits SPBaseCollection
'Применение
Dim instance As SPFolderCollection
public class SPFolderCollection : SPBaseCollection

Замечания

Используйте свойство Folders класса SPWeb или свойство Subfolders() класса SPFolder для возврата коллекции папки веб-узла или папки. Чтобы создать папку, используйте метод AddSPFolderCollection.

Используйте индексатор для возвращения из коллекции в одну папку. Например предположим, что коллекция присваивается переменной с именем collFolders, используйтеindexcollFolders[] в C# илиindexcollFolders() в Visual Basic, где index является индекс папки в коллекции или отображаемое имя папки.

Примеры

В следующем примере кода копирует все вложенные папки библиотеки документов Общие документы, исключая подпапки форм в другой библиотеке документов на том же сайте.

Dim siteCollection As SPSite = SPControl.GetContextSite(Context)
Dim site As SPWeb = siteCollection.AllWebs("Site_Name")

Dim srcFolders As SPFolderCollection = 
    site.GetFolder("Shared Documents").SubFolders
Dim destFolder As SPFolder = site.GetFolder("Destination_Folder")

Dim i As Integer

    For i = 0 To srcFolders.Count - 1

        If srcFolders(i).Name <> "Forms" Then

            srcFolders(i).CopyTo(destFolder.Url & "/" & 
                srcFolders(i).Name)

        End If

Next i
SPSite oSiteCollection = SPContext.Current.Site;
using (SPWeb oWebsite = oSiteCollection.AllWebs["Site_Name"])
{
    SPFolderCollection collFolders =
        oWebsite.GetFolder("Shared Documents").SubFolders;
    SPFolder oFolderDest = oWebsite.GetFolder("Destination_Folder");

    for (int intIndex = 0; intIndex < collFolders.Count; intIndex++)
    {
        if (collFolders[intIndex].Name != "Forms")
        {
            collFolders[intIndex].CopyTo(oFolderDest.Url + "/" +
                collFolders[intIndex].Name);
        }
    }
}

Примечание

Некоторые объекты реализуют интерфейс IDisposable и следует избегать сохранения этих объектов в памяти, после они больше не нужны. Disposing Objectsсведения о рекомендованные методы программирования, см.

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPFolderCollection

Пространство имен Microsoft.SharePoint