SPContentTypeUsage.GetUsages - Méthode

Retourne une liste d'objets SPContentTypeUsage avec des informations dont le type de contenu spécifié est en cours d'utilisation.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Shared Function GetUsages ( _
    contentType As SPContentType _
) As IList(Of SPContentTypeUsage)
'Utilisation
Dim contentType As SPContentType
Dim returnValue As IList(Of SPContentTypeUsage)

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

Paramètres

Valeur renvoyée

Type : System.Collections.Generic.IList<SPContentTypeUsage>
Collection d'objets SPContentTypeUsage .

Remarques

Cette méthode retourne une liste générique d'objets SPContentTypeUsage qui contiennent des informations sur l'utilisation d'un type contenu dans la collection de sites. Si le type de contenu n'est pas utilisé, la méthode retourne une liste vide (Count = 0).

Notes

Un type de contenu est « utilisé » si aucun type de contenu dérivé est présent dans une collection de SPContentTypeCollection au niveau du site ou de liste n'importe où dans sa portée. Pour plus d'informations, consultez Content Type Scope.

Exemples

L'exemple suivant est une application console qui obtient la collection d'utilisation pour le type de contenu intégré « Élément ». L'application compte le nombre de fois qu'il est utilisé comme un type de contenu de site et le nombre de fois qu'il est utilisé comme un type de contenu de liste et imprime les totaux à la 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();
      }
   }
}

Lorsque l'application est exécutée sur un site Web créé avec le modèle Site d'équipe, elle affiche la sortie suivante dans la console.

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

Press ENTER to continue...

Voir aussi

Référence

SPContentTypeUsage classe

SPContentTypeUsage - Membres

Microsoft.SharePoint - Espace de noms

Autres ressources

Site and List Content Types

Creating Content Types Based on Other Content Types