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
contentType
Type: Microsoft.SharePoint.SPContentTypeO tipo de conteúdo a serem rastreadas.
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
Microsoft.SharePoint namespace