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


Класс SPFolder

Представляет папку на веб-сайте SharePoint.

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

System.Object
  Microsoft.SharePoint.SPFolder

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

Синтаксис

'Декларация
Public Class SPFolder
'Применение
Dim instance As SPFolder
public class SPFolder

Замечания

Возвращает объект SPFolderCollection , представляющий коллекцию папок веб-узла или папки с помощью свойства Folders класса SPWeb или свойство SubFolders класса SPFolder . Используйте индексатор для возвращения из коллекции в одну папку. Например если коллекция присваивается переменной с именем collFolders, используйтеindexcollFolders[] в C# илиindexcollFolders() в Visual Basic, где index является индекс папки в коллекции или отображаемое имя папки.

Примеры

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

В этом примере требуется директивы using (Imports в Visual Basic) для пространства имен Microsoft.SharePoint и Microsoft.SharePoint.Utilities .

В примере также требуется предварительно определенных ASPX-страницу, которая содержит элемент управления label.

Dim siteCollection As SPSite = SPControl.GetContextSite(Context)
Dim sites As SPWebCollection = siteCollection.AllWebs
Dim site As SPWeb

For Each site In  sites

    Dim folders As SPFolderCollection = site.Folders
    Dim folder As SPFolder

    For Each folder In  folders

        Dim files As SPFileCollection = folder.Files
        Dim totalFileSize As Long = 0
        Dim i As Integer

        For i = 0 To files.Count - 1
            totalFileSize += files(i).Length
        Next i

        Label1.Text += " Web: " & SPEncode.HtmlEncode(site.Name) 
            & " Folder: " _
            & SPEncode.HtmlEncode(folder.Name) & " Number: " 
                & folder.Files.Count _
            & " Size: " & totalFileSize & "<BR>"

    Next folder

Next site
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsites = oSiteCollection.AllWebs;
foreach (SPWeb oWebsite in collWebsites)
{
    SPFolderCollection collFolders = oWebsite.Folders;

    foreach (SPFolder oFolder in collFolders)
    {
        SPFileCollection collFiles = oFolder.Files;

        long lngTotalFileSize = 0;

        for (int intIndex = 0; intIndex < collFiles.Count; intIndex++)
        {
            lngTotalFileSize += collFiles[intIndex].Length;
        }

            Label1.Text += " Web: " + 
                SPEncode.HtmlEncode(oWebsite.Name)
                + " Folder: " +
                SPEncode.HtmlEncode(oFolder.Name) + " Number: "
                + oFolder.Files.Count +
                " Size: " + lngTotalFileSize + "<BR>";
    }
    oWebsite.Dispose();
}

Примечание

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

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

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

См. также

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

Элементы SPFolder

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