Clase SPListCollection

Representa una colección de objetos SPList .

Jerarquía de la herencia

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.SPBaseCollection
      Microsoft.SharePoint.SPListCollection

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Public Class SPListCollection _
    Inherits SPBaseCollection
'Uso
Dim instance As SPListCollection
public class SPListCollection : SPBaseCollection

Comentarios

Utilice la propiedad Lists de la clase SPWeb para devolver un objeto SPListCollection que representa la colección de listas en un sitio o use la propiedad Lists de la clase SPList para devolver un objeto SPListCollection que representa la colección de listas de primario para obtener una lista. Para crear una lista, use uno de los métodos de Add de SPListCollection.

Utilice un indizador para devolver una única lista de la colección. Por ejemplo, suponiendo que la colección se asigna a una variable denominada collLists, use collLists[index] en C# o collLists(index) en Visual Basic, donde index es el número de índice de la lista de la colección, el nombre para mostrar de la lista, o el GUID de la lista.

Si los usuarios que ejecutan el código tienen permiso total para obtener una lista, pero no tiene permisos para el sitio, use el indizador GUID para devolver una lista de la colección de listas en el sitio. De lo contrario, se devuelve un mensaje de error de acceso denegado porque el usuario no tiene permisos para enumerar la colección de listas, como se hace cuando se usa el indizador de nombre. El indizador GUID permite el acceso directo al elemento porque el GUID es la clave principal en la tabla de listas de la base de datos de Microsoft SharePoint Foundation .

Ejemplos

En el ejemplo de código siguiente se recorre en iteración todas las listas de todos los sitios de una colección de sitios y muestra el nombre de cada sitio y lista. El ejemplo supone la existencia de una página .aspx que contiene un control de etiqueta.

En este ejemplo se requieren using directivas (Imports en Visual Basic) para los espacios de nombres Microsoft.SharePoint y 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();
    }
}

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.

Vea también

Referencia

Miembros SPListCollection

Espacio de nombres Microsoft.SharePoint