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.