SPFolder - Classe

Représente un dossier sur un site web SharePoint.

Hiérarchie d’héritage

System.Object
  Microsoft.SharePoint.SPFolder

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Class SPFolder
'Utilisation
Dim instance As SPFolder
public class SPFolder

Remarques

Utilisez la propriété Folders de la classe SPWeb ou la propriété SubFolders de la classe SPFolder pour renvoyer un objet SPFolderCollection qui représente la collection de dossiers pour un site ou un dossier. Pour renvoyer un seul dossier à partir de la collection, utilisez un indexeur. Par exemple, si la collection est assignée à une variable nommée collFolders, utilisez collFolders[index] dans C# ou collFolders(index) dans Visual Basic, où index est le numéro d'index du dossier de la collection ou le nom complet du dossier.

Exemples

L'exemple de code suivant affiche des informations sur les dossiers dans un site et tous ses sous-sites, y compris le nom du site, le nom du dossier, le nombre de fichiers dans le dossier et la taille totale des fichiers.

Cet exemple requiert les directives using (Imports dans Visual Basic) pour les espaces de noms Microsoft.SharePoint et Microsoft.SharePoint.Utilities .

L'exemple requiert également une page .aspx prédéfinis qui contient un contrôle 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();
}

Notes

Certains objets implémentent l'interface IDisposable , et vous devez éviter de conserver ces objets dans la mémoire après que qu'ils ne sont plus nécessaires. Pour plus d'informations sur les bonnes pratiques de codage, consultez Disposing Objects.

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

SPFolder - Membres

Microsoft.SharePoint - Espace de noms