Compartir a través de


del método SPContentTypeCollection.Add

Agrega un tipo de contenido a la colección.

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
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 devuelto

Tipo: Microsoft.SharePoint.SPContentType
Una instancia totalmente inicializada del tipo de contenido.

Excepciones

Excepción Condición
SPException

contentType es null.

o

El tipo de contenido ya está en la colección.

o

La colección es de sólo lectura.

Comentarios

Un tipo de contenido no se inicializa completamente hasta que se agrega a una colección de tipo de contenido. Entre otras cosas, se asigna un identificador de tipo de contenido que es relevante para la colección. Por ejemplo, cuando se agrega un tipo de contenido de sitio a la colección de tipo de contenido asociada a una lista, el tipo de contenido de lista resultante tiene un identificador de tipo de contenido que es diferente del tipo de contenido de sitio original. Para obtener más información, vea Site and List Content Types.

Ejemplos

El ejemplo siguiente muestra una aplicación de consola que obtiene un tipo de contenido de la colección devuelta por la propiedad AvailableContentTypes . A continuación, se agrega ese tipo de contenido a la colección devuelta por la propiedad ContentTypes de un 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();
      }
   }
}

Vea también

Referencia

clase SPContentTypeCollection

Miembros SPContentTypeCollection

Espacio de nombres Microsoft.SharePoint

SPContentType(SPContentTypeId, SPContentTypeCollection, String)

Otros recursos

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy