Compartir a través de


del método SPContentTypeUsage.GetUsages

Devuelve una lista de objetos de SPContentTypeUsage con información sobre donde el tipo de contenido especificado está en uso.

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

Sintaxis

'Declaración
Public Shared Function GetUsages ( _
    contentType As SPContentType _
) As IList(Of SPContentTypeUsage)
'Uso
Dim contentType As SPContentType
Dim returnValue As IList(Of SPContentTypeUsage)

returnValue = SPContentTypeUsage.GetUsages(contentType)
public static IList<SPContentTypeUsage> GetUsages(
    SPContentType contentType
)

Parámetros

Valor devuelto

Tipo: System.Collections.Generic.IList<SPContentTypeUsage>
Una colección de objetos de SPContentTypeUsage .

Comentarios

Este método devuelve una lista genérica de objetos SPContentTypeUsage que contienen información sobre cada uso de un tipo de contenido en la colección de sitios. Si no se utiliza el tipo de contenido, el método devuelve una lista vacía (Count = 0).

Nota

Un tipo de contenido es "usa" si cualquier tipo de contenido que se derivan de éste está presente en una colección de SPContentTypeCollection en el nivel de sitio o lista en cualquier lugar dentro de su ámbito. Para obtener más información, vea Content Type Scope.

Ejemplos

En el siguiente ejemplo es una aplicación de consola que obtiene la colección de uso para el tipo de contenido integrada "Elemento". La aplicación cuenta el número de veces que se utiliza como un tipo de contenido de sitio y el número de veces que se utiliza como un tipo de contenido de lista y luego se imprimen los totales en la consola.

Imports System
Imports System.Collections.Generic
Imports Microsoft.SharePoint

Module ConsoleApp
   Sub Main()
      Using siteCollection As SPSite = New SPSite("https://localhost")
         Using rootWeb As SPWeb = siteCollection.RootWeb

            ' Get the content type.
            Dim contentType As SPContentType = _
               rootWeb.AvailableContentTypes(SPBuiltInContentTypeId.Item)

            'Get the usage collection.
            Dim usages As IList(Of SPContentTypeUsage) = _
               SPContentTypeUsage.GetUsages(contentType)

            ' Count the site and list types.
            Dim listTypes As Integer = 0
            Dim siteTypes As Integer = 0
            For Each usage As SPContentTypeUsage In usages
               If usage.IsUrlToList Then
                  listTypes += 1
               Else
                  siteTypes += 1
               End If
            Next usage

            Console.Write("The content type is inherited by {0} site content types", siteTypes)
            Console.WriteLine(" and {0} list content types.", listTypes)

         End Using
      End Using
      Console.Write(vbCrLf + "Press ENTER to continue...")
      Console.ReadLine()
   End Sub

End Module
using System;
using System.Collections.Generic;
using Microsoft.SharePoint;

namespace Test
{
   class ConsoleApp
   {
      static void Main(string[] args)
      {
         using (SPSite siteCollection = new SPSite("https://localhost"))
         {
            using (SPWeb rootWeb = siteCollection.RootWeb)
            {
               // Get the content type.
               SPContentType contentType =
                  rootWeb.AvailableContentTypes[SPBuiltInContentTypeId.Item];

               //Get the usage collection.
               IList<SPContentTypeUsage> usages = SPContentTypeUsage.GetUsages(contentType);

               // Count the site and list types.
               int listTypes = 0;
               int siteTypes = 0;
               foreach (SPContentTypeUsage usage in usages)
               {
                  if (usage.IsUrlToList)
                     listTypes++;
                  else
                     siteTypes++;
               }

               Console.Write("The content type is inherited by {0} site content types", siteTypes);
               Console.WriteLine(" and {0} list content types.", listTypes);
            }
         }
         Console.Write("\nPress ENTER to continue...");
         Console.ReadLine();
      }
   }
}

Cuando la aplicación se ejecuta en un sitio Web creado con la plantilla sitio de grupo, se imprime el siguiente resultado en la consola.

The content type is inherited by 33 site content types and 20 list content types.

Press ENTER to continue...

Vea también

Referencia

clase SPContentTypeUsage

Miembros SPContentTypeUsage

Espacio de nombres Microsoft.SharePoint

Otros recursos

Site and List Content Types

Creating Content Types Based on Other Content Types