Класс SPListCollection
Представляет коллекцию объектов SPList .
Иерархия наследования
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPListCollection
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Class SPListCollection _
Inherits SPBaseCollection
'Применение
Dim instance As SPListCollection
public class SPListCollection : SPBaseCollection
Замечания
Используйте свойство Lists класса SPWeb возвращает объект SPListCollection , представляющий коллекцию списков на узле, или свойство Lists класса SPList возвращает объект SPListCollection , представляющий коллекцию списков родительский список. Чтобы создать список, используйте один из методов AddSPListCollection.
Используйте индексатор для получения один список из коллекции. Например предположим, что коллекция присваивается переменной с именем collLists, используйтеindexcollLists[] в C# илиindexcollLists() в того, где index — индекс списка в коллекции списка отображаемое имя или идентификатор GUID списка.
Если разрешение Полный список пользователей, выполняющих код, но нет разрешений для веб-узла, используйте индексатор GUID для возврата списка из коллекции списков на узле. В противном случае — сообщение об ошибке Отказано в доступе возвращается, так как пользователь не допускается для перечисления коллекции списков, как при использовании имя индексатора. Индексатор GUID позволяет прямой доступ к элементу, поскольку идентификатор GUID является первичным ключом в таблице перечислены базы данных Microsoft SharePoint Foundation .
Примеры
В следующем примере кода выполняется итерация по все списки всех узлов в семействе узлов и отображает имя каждого сайта и списка. В примере предполагается существование страница ASPX, которая содержит элемент управления label.
В этом примере требуется директивы using (Imports в Visual Basic) для пространства имен Microsoft.SharePoint и Microsoft.SharePoint.Utilities .
Dim site As SPSite = SPControl.GetContextSite(Context)
Dim allSites As SPWebCollection = site.AllWebs
Dim subSite As SPWeb
For Each subSite In allSites
Dim allSiteLists As SPListCollection = subSite.Lists
Dim subSiteList As SPList
For Each subSiteList In allSiteLists
Label1.Text += SPEncode.HtmlEncode(subSite.Name) & " :: " & _
SPEncode.HtmlEncode(subSiteList.Title) & "<BR>"
Next subSiteList
Next subSite
SPSite oSiteCollection = SPContext.Current.Site;
using(SPWebCollection collWebs = oSiteCollection.AllWebs)
{
foreach (SPWeb oWebsite in collWebs)
{
SPListCollection collSiteLists = oWebsite.Lists;
foreach (SPList oList in collSiteLists)
{
Label1.Text += SPEncode.HtmlEncode(oWebsite.Name) + " :: " +
SPEncode.HtmlEncode(oList.Title) + "<BR>";
}
oWebsite.Dispose();
}
}
Примечание
Некоторые объекты реализуют интерфейс IDisposable и следует избегать сохранения этих объектов в памяти, после они больше не нужны. Disposing Objectsсведения о рекомендованные методы программирования, см.
Потокобезопасность
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.