Класс SPFolder
Представляет папку на веб-сайте SharePoint.
Иерархия наследования
System.Object
Microsoft.SharePoint.SPFolder
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Class SPFolder
'Применение
Dim instance As SPFolder
public class SPFolder
Замечания
Возвращает объект SPFolderCollection , представляющий коллекцию папок веб-узла или папки с помощью свойства Folders класса SPWeb или свойство SubFolders класса SPFolder . Используйте индексатор для возвращения из коллекции в одну папку. Например если коллекция присваивается переменной с именем collFolders, используйтеindexcollFolders[] в C# илиindexcollFolders() в Visual Basic, где index является индекс папки в коллекции или отображаемое имя папки.
Примеры
В следующем примере кода отображаются сведения о папках в узел и все его дочерние узлы, включая имя узла, имя папки, количества файлов в папке и общий размер файлов.
В этом примере требуется директивы using (Imports в Visual Basic) для пространства имен Microsoft.SharePoint и Microsoft.SharePoint.Utilities .
В примере также требуется предварительно определенных ASPX-страницу, которая содержит элемент управления 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();
}
Примечание
Некоторые объекты реализуют интерфейс IDisposable и следует избегать сохранения этих объектов в памяти, после они больше не нужны. Disposing Objectsсведения о рекомендованные методы программирования, см.
Потокобезопасность
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.