Метод SPContentTypeCollection.Add
Добавляет в коллекцию типа содержимого.
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Function Add ( _
contentType As SPContentType _
) As SPContentType
'Применение
Dim instance As SPContentTypeCollection
Dim contentType As SPContentType
Dim returnValue As SPContentType
returnValue = instance.Add(contentType)
public SPContentType Add(
SPContentType contentType
)
Параметры
contentType
Тип: Microsoft.SharePoint.SPContentTypeТип содержимого для добавления к коллекции.
Возвращаемое значение
Тип: Microsoft.SharePoint.SPContentType
Полностью инициализированный экземпляр типа содержимого.
Исключения
Исключение | Условие |
---|---|
SPException | contentType имеет значение null. -или- Тип содержимого уже присутствует в коллекции. -или- Коллекция только для чтения. |
Замечания
Тип контента не инициализирован полностью только после добавления в коллекцию типов контента. Помимо прочего ему присваивается идентификатор типа контента, который относится к коллекции. Например при добавлении типа контента сайта в коллекцию типов контента, связанных со списком результирующий тип контента списка имеет идентификатор типа содержимого, который отличается от исходного типа контента сайта. Дополнительные сведения содержатся в разделе Site and List Content Types.
Примеры
В следующем примере показано консольное приложение, которое возвращает тип контента из коллекции, которая возвращается свойством AvailableContentTypes . Затем он добавляет типа содержимого коллекции, который возвращается свойством ContentTypes объекта SPList .
Imports System
Imports Microsoft.SharePoint
Module ConsoleApp
Sub Main()
Using site As SPSite = New SPSite("https://localhost")
Using web As SPWeb = site.OpenWeb()
' Get a content type.
Dim ct As SPContentType = web.AvailableContentTypes(SPBuiltInContentTypeId.Document)
If ct IsNot Nothing Then ' We have a content type
Try ' Get a list.
Dim list As SPList = web.Lists("Test List") ' Throws exception if does not exist
' Make sure you can add content types.
list.ContentTypesEnabled = True
' Add the content type to the list.
If Not list.IsContentTypeAllowed(ct) Then
Console.WriteLine("The {0} content type is not allowed on the {1} list", _
ct.Name, list.Title)
ElseIf list.ContentTypes(ct.Name) IsNot Nothing Then
Console.WriteLine("The content type name {0} is already in use on the {1} list", _
ct.Name, list.Title)
Else
list.ContentTypes.Add(ct)
End If
Catch ex As ArgumentException ' No list
Console.WriteLine("The list does not exist.")
End Try
Else ' No content type found.
Console.WriteLine("The content type is not available in this site.")
End If
End Using
End Using
Console.Write(vbCrLf + "Press ENTER to continue...")
Console.ReadLine()
End Sub
End Module
using System;
using Microsoft.SharePoint;
namespace Test
{
class ConsoleApp
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.OpenWeb())
{
// Get a content type.
SPContentType ct = web.AvailableContentTypes[SPBuiltInContentTypeId.Document];
if (ct != null) // We have a content type
{
try // Get a list.
{
SPList list = web.Lists["Test List"]; // Throws exception if does not exist
// Make sure you can add content types.
list.ContentTypesEnabled = true;
// Add the content type to the list.
if (!list.IsContentTypeAllowed(ct))
Console.WriteLine("The {0} content type is not allowed on the {1} list",
ct.Name, list.Title);
else if (list.ContentTypes[ct.Name] != null)
Console.WriteLine("The content type name {0} is already in use on the {1} list",
ct.Name, list.Title);
else
list.ContentTypes.Add(ct);
}
catch (ArgumentException ex) // No list is found.
{
Console.WriteLine("The list does not exist.");
}
}
else // No content type is found.
{
Console.WriteLine("The content type is not available in this site.");
}
}
}
Console.Write("\nPress ENTER to continue...");
Console.ReadLine();
}
}
}
См. также
Справочные материалы
Элементы SPContentTypeCollection
Пространство имен Microsoft.SharePoint
SPContentType(SPContentTypeId, SPContentTypeCollection, String)