SPFolderCollection - Classe
Représente une collection d'objets SPFolder .
Hiérarchie d’héritage
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPFolderCollection
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Class SPFolderCollection _
Inherits SPBaseCollection
'Utilisation
Dim instance As SPFolderCollection
public class SPFolderCollection : SPBaseCollection
Remarques
Utilisez la propriété Folders de la classe SPWeb , ou la propriété Subfolders() de la classe SPFolder , pour renvoyer la collection de dossiers pour un site ou un dossier. Pour créer un dossier, utilisez la méthode Add de SPFolderCollection.
Pour renvoyer un seul dossier à partir de la collection, utilisez un indexeur. Par exemple, en supposant que 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 copie tous les sous-dossiers d'une bibliothèque de documents Documents partagés, à l'exclusion du sous-dossier de formulaires, dans une autre bibliothèque de documents sur le même site.
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);
}
}
}
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.