Compartilhar via


SPContentTypeCollection.Add method

Adiciona um tipo de conteúdo à coleção.

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

Syntax

'Declaração
Public Function Add ( _
    contentType As SPContentType _
) As SPContentType
'Uso
Dim instance As SPContentTypeCollection
Dim contentType As SPContentType
Dim returnValue As SPContentType

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

Parâmetros

Valor retornado

Type: Microsoft.SharePoint.SPContentType
Uma instância totalmente inicializada o tipo de conteúdo.

Exceptions

Exception Condition
SPException

contentType é nulo.

- ou -

O tipo de conteúdo já está na coleção.

- ou -

A coleção é somente pronto.

Comentários

Um tipo de conteúdo não foi inicializado completamente até que ele seja adicionado a uma coleção de tipo de conteúdo. Entre outras coisas, ele é atribuído a uma identificação de tipo de conteúdo que é relevante para a coleção. Por exemplo, quando você adiciona um tipo de conteúdo do site para a coleção de tipo de conteúdo associada a uma lista, o tipo de conteúdo de lista resultante tem uma identificação de tipo de conteúdo que é diferente do tipo de conteúdo de site original. Para obter mais informações, consulte Site and List Content Types.

Examples

O exemplo a seguir mostra um aplicativo de console que obtém um tipo de conteúdo da coleção retornada pela propriedade AvailableContentTypes . Em seguida, ele adiciona esse tipo de conteúdo para a coleção retornada pela propriedade ContentTypes de um objeto 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();
      }
   }
}

Ver também

Referência

SPContentTypeCollection class

SPContentTypeCollection members

Microsoft.SharePoint namespace

SPContentType(SPContentTypeId, SPContentTypeCollection, String)

Outros recursos

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy