Поделиться через


Структура SPContentTypeId

Представляет идентификатор типа контента.

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
<SerializableAttribute> _
Public Structure SPContentTypeId _
    Implements IComparable
'Применение
Dim instance As SPContentTypeId
[SerializableAttribute]
public struct SPContentTypeId : IComparable

Замечания

Идентификаторы типов контента однозначно определить тип контента и разработаны с учетом рекурсивный. Идентификатор типа контента инкапсулирует журнала преобразований типа контента или строки родительских типов контента, из которых наследуется типа контента. Каждый идентификатор типа контента содержит идентификатор родительского типа контента, который в свою очередь, содержит идентификатор родительского типа содержимого и так далее, в конечном счете обратно, включая содержимое System введите идентификатор.

For more information, see Content Type IDs and the Id property.

Примеры

В следующем примере показано консольное приложение, которая заполняет массив пять встроенных идентификаторов типов контента и подсчитывает количество потомков, которыми каждого элемента этого массива вместе с другими участниками массива. Также выводит свои строковые значения на консоль.

Imports System
Imports System.Collections.Generic
Imports Microsoft.SharePoint

Module ConsoleApp

    Sub Main()

        ' Fill an array with SPContentTypeId objects.
        Dim ids As New List(Of SPContentTypeId)
        ids.Add(SPBuiltInContentTypeId.System)
        ids.Add(SPBuiltInContentTypeId.Item)
        ids.Add(SPBuiltInContentTypeId.Document)
        ids.Add(SPBuiltInContentTypeId.BasicPage)
        ids.Add(SPBuiltInContentTypeId.WebPartPage)

        ' Display the hex strings.
        Console.WriteLine("The list has {0} content type IDs:", ids.Count.ToString())
        For Each id As SPContentTypeId In ids
            Console.WriteLine("{0}", id.ToString())
        Next

        ' Show the lineage.
        Console.WriteLine()
        For i As Integer = 0 To ids.Count - 1
            Dim parent As SPContentTypeId = ids(i)
            Dim children As Integer = 0
            For j As Integer = 0 To ids.Count - 1
                Dim id As SPContentTypeId = ids(j)
                If id.IsChildOf(parent) And id <> parent Then
                    children += 1
                End If
            Next
            Console.WriteLine("{0} descendants of {1}", children.ToString(), ids(i).ToString())
        Next

        Console.Write(vbCrLf & "Press ENTER to continue....")
        Console.Read()
    End Sub
End Module
using System;
using System.Collections.Generic;
using Microsoft.SharePoint;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Fill an array with SPContentTypeId objects.
            List<SPContentTypeId> ids = new List<SPContentTypeId>
               { 
                  SPBuiltInContentTypeId.System,
                  SPBuiltInContentTypeId.Item,
                  SPBuiltInContentTypeId.Document, 
                  SPBuiltInContentTypeId.BasicPage, 
                  SPBuiltInContentTypeId.WebPartPage
               };

            // Display the hex strings.
            Console.WriteLine("The list has {0} content type IDs:", ids.Count.ToString());
            foreach (SPContentTypeId id in ids) Console.WriteLine("{0}", id.ToString());

            // Show the lineage.
            Console.WriteLine();
            for (int i = 0; i < ids.Count; i++)
            {
                SPContentTypeId parent = ids[i];
                int children = 0;
                for (int j = 0; j < ids.Count; j++)
                {
                    SPContentTypeId id = ids[j];
                    if (id.IsChildOf(parent) && id != parent)
                        children++;
                }
                Console.WriteLine("{0} descendants of {1}", children.ToString(), ids[i].ToString());

            }

            Console.Write("\nPress ENTER to continue....");
            Console.Read();
        }
    }
}

В консоли приложение выведет следующие данные:

The list has 5 content type IDs:
0x
0x01
0x0101
0x010109
0x01010901

4 descendants of 0x
3 descendants of 0x01
2 descendants of 0x0101
1 descendants of 0x010109
0 descendants of 0x01010901

Press ENTER to continue...

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPContentTypeId

Пространство имен Microsoft.SharePoint

Id

SPBuiltInContentTypeId

Другие ресурсы

Content Type IDs

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy