SPFolder class
Representa uma pasta em um site do SharePoint.
Inheritance hierarchy
System.Object
Microsoft.SharePoint.SPFolder
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Public Class SPFolder
'Uso
Dim instance As SPFolder
public class SPFolder
Comentários
Use a propriedade Folders da classe SPWeb ou a propriedade SubFolders da classe SPFolder para retornar um objeto SPFolderCollection que representa a coleção de pastas de um site ou uma pasta. Use um indexador para retornar uma única pasta de coleção. Por exemplo, se a coleção for atribuída a uma variável chamada collFolders, use collFolders[index] em C# ou deindexde collFolders() no Visual Basic, onde index é o número de índice da pasta da coleção ou o nome de exibição da pasta.
Examples
O exemplo de código a seguir exibe informações sobre as pastas em um site e todos os respectivos subsites, incluindo o nome do site, o nome da pasta, o número de arquivos na pasta e o tamanho total dos arquivos.
Este exemplo requer diretivas de using (Imports no Visual Basic) para os namespaces Microsoft.SharePoint e Microsoft.SharePoint.Utilities .
O exemplo também requer uma página. aspx predefinidas que contém um controle 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();
}
Dica
Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.
Thread safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.