SPFolder-Klasse

Steht für einen Ordner auf einer SharePoint-Website.

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.SPFolder

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
Public Class SPFolder
'Usage
Dim instance As SPFolder
public class SPFolder

Hinweise

Verwenden Sie die Folders -Eigenschaft der SPWeb -Klasse oder die SubFolders -Eigenschaft der SPFolder -Klasse, um ein SPFolderCollection -Objekt zurückzugeben, das die Auflistung von Ordnern für eine Website oder einen Ordner darstellt. Verwenden Sie einen Indexer ein einzelnes Ordners aus der Auflistung zurückgegeben. Verwenden Sie z. B., wenn die Auflistung in eine Variable namens collFolderszugewiesen wird, collFolders[index] in C# oder collFolders(index) in Visual Basic, wo index entweder die Indexnummer des Ordners in der Auflistung oder der Anzeigename des Ordners ist.

Beispiele

Das folgende Codebeispiel zeigt Informationen zu den Ordnern in einer Website und alle Unterwebsites, einschließlich den Sitenamen, den Namen des Ordners, der die Anzahl der Dateien in den Ordner und die Gesamtgröße der Dateien.

Dieses Beispiel erfordert using Richtlinien (Imports in Visual Basic) für die Namespaces Microsoft.SharePoint und Microsoft.SharePoint.Utilities .

Das Beispiel erfordert ebenfalls eine vordefinierte ASPX-Seite, die ein Label-Steuerelement enthält.

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();
}

Hinweis

Bestimmte Objekte, die IDisposable -Schnittstelle implementieren, und müssen Sie vermeiden, diese Objekte im Arbeitsspeicher beibehalten, nachdem sie nicht mehr benötigt werden. Informationen zu bewährten Programmierpraktiken finden Sie unter Disposing Objects.

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

SPFolder-Member

Microsoft.SharePoint-Namespace