Freigeben über


SPContentTypeCollection.BestMatch-Methode

Sucht in der Auflistung und gibt den Inhaltstyp-Bezeichner (ID), der die nächste entspricht der angegebene Inhaltstyp-ID

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

Syntax

'Declaration
Public Function BestMatch ( _
    contentTypeId As SPContentTypeId _
) As SPContentTypeId
'Usage
Dim instance As SPContentTypeCollection
Dim contentTypeId As SPContentTypeId
Dim returnValue As SPContentTypeId

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

Parameter

Rückgabewert

Typ: Microsoft.SharePoint.SPContentTypeId
Der Wert der Eigenschaft Id für den Inhaltstyp mit der größten Übereinstimmung auf den Wert des angegebenen Inhalts Typ-ID Wenn die Suche zwei Übereinstimmungen gefunden werden, wird die kürzere ID zurückgegeben. Wenn 0 x 0101 das Argument ist, und die Auflistung sowohl 0x010109 als auch 0x01010901 enthält, gibt die Methode 0x010109.

Hinweise

Verwenden Sie diese Methode, um festzustellen, ob eine Auflistung ein untergeordnetes Element eines bekannten Inhaltstyps enthält. Beachten Sie jedoch, dass beim Kopieren eines Websiteinhaltstyps zu einer Liste der Inhaltstyp in der Liste eine neuen Inhaltstyp-ID in der folgenden Form wird beibehalten.

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

Weitere Informationen finden Sie unter Content Type IDs.

Tipp

Wenn überall wissen, dass ein Inhaltstyp in einer Websitesammlung verwendet werden soll, rufen Sie die Methode GetUsages .

Beispiele

Das folgende Beispiel zeigt eine Konsolenanwendung, die die Listen in einer Website durchlaufen, und bestimmt, ob die Auflistung Inhaltstyp jeder Liste einen Nachfolger von einem angegebenen Inhaltstyp enthält.

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

Die folgende Ausgabe wird in der Konsole angezeigt.

The Tasks list uses the content type.

Press ENTER to continue...

Siehe auch

Referenz

SPContentTypeCollection Klasse

SPContentTypeCollection-Member

Microsoft.SharePoint-Namespace

GetUsages

Weitere Ressourcen

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy