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
contentType
Tipo: Microsoft.SharePoint.SPContentTypeTipo de contenido que se va a agregar a la colección.
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
Miembros SPContentTypeCollection
Espacio de nombres Microsoft.SharePoint
SPContentType(SPContentTypeId, SPContentTypeCollection, String)