SPContentTypeCollection.Add-Methode

Einen Inhaltstyp und der Auflistung hinzugefügt.

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

Syntax

'Declaration
Public Function Add ( _
    contentType As SPContentType _
) As SPContentType
'Usage
Dim instance As SPContentTypeCollection
Dim contentType As SPContentType
Dim returnValue As SPContentType

returnValue = instance.Add(contentType)
public SPContentType Add(
    SPContentType contentType
)

Parameter

Rückgabewert

Typ: Microsoft.SharePoint.SPContentType
Eine vollständig initialisierte Instanz des Inhaltstyps.

Ausnahmen

Ausnahme Bedingung
SPException

contentType ist null.

-ODER-

Der Inhaltstyp ist bereits in der Auflistung.

-ODER-

Die Auflistung ist schreibgeschützt.

Hinweise

Ein Inhaltstyp ist nicht vollständig initialisiert, bis es einen Content-Type-Auflistung hinzugefügt wird. Unter anderem wird es eine Inhaltstyp-ID zugewiesen, die der Auflistung relevant sind. Beim Hinzufügen eines Websiteinhaltstyps zu der Content-Type-Auflistung, die eine Liste hat der resultierenden Listeninhaltstyp z. B. eine Inhaltstyp-ID, die von der ursprünglichen Websiteinhaltstyp unterscheidet. Weitere Informationen finden Sie unter Site and List Content Types.

Beispiele

Das folgende Beispiel zeigt eine Konsolenanwendung, die einen Inhaltstyp aus der Auflistung abruft, die von der AvailableContentTypes -Eigenschaft zurückgegeben wird. Dann werden die von der ContentTypes -Eigenschaft eines SPList -Objekts zurückgegebene Auflistung dieser Inhaltstyp hinzugefügt.

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

Siehe auch

Referenz

SPContentTypeCollection Klasse

SPContentTypeCollection-Member

Microsoft.SharePoint-Namespace

SPContentType(SPContentTypeId, SPContentTypeCollection, String)

Weitere Ressourcen

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy