Compartilhar via


SPContentTypeCollection.BestMatch method

Pesquisa da coleção e retorna o identificador (ID) de tipo de conteúdo que seja a correspondência mais próxima para a identificação de tipo de conteúdo especificado.

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

Syntax

'Declaração
Public Function BestMatch ( _
    contentTypeId As SPContentTypeId _
) As SPContentTypeId
'Uso
Dim instance As SPContentTypeCollection
Dim contentTypeId As SPContentTypeId
Dim returnValue As SPContentTypeId

returnValue = instance.BestMatch(contentTypeId)
public SPContentTypeId BestMatch(
    SPContentTypeId contentTypeId
)

Parâmetros

Valor retornado

Type: Microsoft.SharePoint.SPContentTypeId
O valor da propriedade Id para o tipo de conteúdo com a correspondência mais próxima ao valor do conteúdo especificado, digite identificação. Se a pesquisa encontrar dois correspondências, a identificação do menor será retornada. Por exemplo, se 0x0101 é o argumento e a coleção contém 0x010109 e 0x01010901, o método retornará 0x010109.

Comentários

Use este método para determinar se uma coleção contém um filho de um tipo de conteúdo conhecido. Lembre-se, no entanto, que, quando um tipo de conteúdo de site é copiado para uma lista, o tipo de conteúdo na lista recebe uma nova identificação de tipo de conteúdo no seguinte formato.

site content type ID + "00" + 32-character hexadecimal GUID

Para obter mais informações, consulte Content Type IDs.

Dica

Se você deseja saber em qualquer lugar que um tipo de conteúdo é usado em todo um conjunto de sites, chame o método GetUsages .

Examples

O exemplo a seguir mostra um aplicativo de console que percorre as listas em um site da Web e determina se a coleção de tipo de conteúdo de cada lista contém um descendente de um tipo de conteúdo especificado.

Imports System
Imports Microsoft.SharePoint

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

            ' Get a content type id to search for.
            Dim contentTypeId As SPContentTypeId = SPBuiltInContentTypeId.Task

            For Each list As SPList In webSite.Lists
               If ListContains(list, contentTypeId) Then
                  Console.WriteLine("The {0} list uses the content type.", list.Title)
               End If
            Next list


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

   Function ListContains(ByVal list As SPList, ByVal id As SPContentTypeId) As Boolean
      Dim matchId As SPContentTypeId = list.ContentTypes.BestMatch(id)
      Return matchId.IsChildOf(id)
   End Function

End Module
using System;
using Microsoft.SharePoint;

namespace Test
{
   class ConsoleApp
   {
      static void Main(string[] args)
      {
         using (SPSite siteCollection = new SPSite("https://localhost"))
         {
            using (SPWeb webSite = siteCollection.OpenWeb())
            {
               // Get a content type id to search for.
               SPContentTypeId contentTypeId = SPBuiltInContentTypeId.Task;

               foreach (SPList list in webSite.Lists)
               {
                 if (ListContains(list, contentTypeId))
                    Console.WriteLine("The {0} list uses the content type.", 
                                       list.Title);
               }
            }
         }
         Console.Write("\nPress ENTER to continue...");
         Console.ReadLine();
      }

      static bool ListContains(SPList list, SPContentTypeId id)
      {
         SPContentTypeId matchId = list.ContentTypes.BestMatch(id);
         return matchId.IsChildOf(id);
      }
   }
}

O aplicativo imprime a seguinte saída no console.

The Tasks list uses the content type.

Press ENTER to continue...

Ver também

Referência

SPContentTypeCollection class

SPContentTypeCollection members

Microsoft.SharePoint namespace

GetUsages

Outros recursos

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy