SPContentTypeCollection.Add method
將內容類型加入至集合。
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'宣告
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
Type: Microsoft.SharePoint.SPContentType要加入至集合的內容型別。
傳回值
Type: Microsoft.SharePoint.SPContentType
內容型別的完整初始化執行個體。
Exceptions
Exception | Condition |
---|---|
SPException | contentType是空值。 -或- 內容類型已在集合中。 -或- 這個集合是只準備。 |
備註
內容型別未完全初始化之前加入至內容的型別集合。在其他方面,將它指派為相關集合的內容類型識別碼。例如,當您新增站台的內容類型與清單相關聯的內容型別集合,結果清單的內容型別會有不同於原始網站的內容型別的內容型別 ID。如需詳細資訊,請參閱Site and List Content Types。
Examples
下列範例會顯示主控台應用程式,從AvailableContentTypes屬性所傳回的集合中取得內容型別。接著,它會加入該內容的型別由SPList物件的 [ ContentTypes ] 屬性所傳回的集合。
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 members
Microsoft.SharePoint namespace
SPContentType(SPContentTypeId, SPContentTypeCollection, String)