Partager via


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.

Voir aussi

Référence

SPFolderCollection - Membres

Microsoft.SharePoint - Espace de noms