Clase SPFolder
Representa una carpeta de un sitio web de SharePoint.
Jerarquía de la herencia
System.Object
Microsoft.SharePoint.SPFolder
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Class SPFolder
'Uso
Dim instance As SPFolder
public class SPFolder
Comentarios
Utilice la propiedad Folders de la clase SPWeb o la propiedad SubFolders de la clase SPFolder para devolver un objeto SPFolderCollection que representa la colección de carpetas de un sitio o una carpeta. Utilice un indizador para devolver una sola carpeta de la colección. Por ejemplo, si la colección se asigna a una variable denominada collFolders, use collFolders[index] en C# o collFolders(index) en Visual Basic, donde index es el número de índice de la carpeta de la colección o el nombre para mostrar de la carpeta.
Ejemplos
En el ejemplo de código siguiente se muestra información sobre las carpetas en un sitio y todos sus subsitios, incluido el nombre del sitio, el nombre de la carpeta, el número de archivos en la carpeta y el tamaño total de los archivos.
En este ejemplo se requieren using directivas (Imports en Visual Basic) para los espacios de nombres Microsoft.SharePoint y Microsoft.SharePoint.Utilities .
En el ejemplo también requiere una página .aspx predefinidos que contiene un control de etiqueta.
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();
}
Nota
Determinados objetos implementan la interfaz de IDisposable y, a continuación, se debe evitar la conservación de estos objetos en la memoria que ya no se necesitan. Para obtener información acerca de buenas prácticas de codificación, vea Disposing Objects.
Seguridad para subprocesos
Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.