Compartilhar via


SPContentTypeUsage.GetUsages method

Retorna uma lista de objetos SPContentTypeUsage com informações sobre onde o tipo de conteúdo especificado está em uso.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
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 retornado

Type: System.Collections.Generic.IList<SPContentTypeUsage>
Uma coleção de objetos SPContentTypeUsage .

Comentários

Esse método retorna uma lista genérica de objetos SPContentTypeUsage que contêm informações sobre cada uso de um tipo de conteúdo do conjunto de sites. Se o tipo de conteúdo não for usado, o método retorna uma lista vazia (Count = 0).

Dica

Um tipo de conteúdo é "usado" se houver qualquer tipo de conteúdo derivado dele em uma coleção de SPContentTypeCollection no nível do site ou lista em qualquer lugar dentro de seu escopo. Para obter mais informações, consulte Content Type Scope.

Examples

O exemplo a seguir é um aplicativo de console que obtém a coleção de uso para o tipo de conteúdo interno "Item". O aplicativo conta o número de vezes em que ele é usado como um tipo de conteúdo de site e o número de vezes em que ele é usado como um tipo de conteúdo de lista e, em seguida, imprime os totais para o console.

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();
      }
   }
}

Quando o aplicativo é executado em relação a um site criado com o modelo de Site de equipe, ele imprime a seguinte saída no console.

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

Press ENTER to continue...

Ver também

Referência

SPContentTypeUsage class

SPContentTypeUsage members

Microsoft.SharePoint namespace

Outros recursos

Site and List Content Types

Creating Content Types Based on Other Content Types