Compartilhar via


SPFieldCollection.Delete method

Exclui o campo com o especificado interno, exibição ou nome estático da coleção.

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

Syntax

'Declaração
Public Sub Delete ( _
    strName As String _
)
'Uso
Dim instance As SPFieldCollection
Dim strName As String

instance.Delete(strName)
public void Delete(
    string strName
)

Parâmetros

  • strName
    Type: System.String

    Uma seqüência de caracteres que especifica o interno, exibição, ou staticname ou título do campo. SharePoint Foundation primeiro verifica o valor especificado pelo nome interno e, em seguida, por título.

Exceptions

Exception Condition
SPException

O campo é somente leitura.

ArgumentException

Não existe nenhum campo com esse nome na coleção.

InvalidOperationException

O valor retornado pela propriedade de CanBeDeleted do campo é false.

Comentários

Esse método obtém o nome do campo de uma propriedade de campo na seguinte ordem: InternalName, Title, StaticName.

Se o campo é do tipo SPFieldLookup e é um campo de pesquisa primário, todas as pesquisas secundárias também serão excluídas. Para obter mais informações, consulte a propriedade IsDependentLookup .

Examples

O exemplo de código a seguir exclui o campo com o nome especificado da lista de eventos em todos os subsites em um site especificado.

Dim siteCollection As SPSite = SPContext.Current.Site
Try
    Dim webSites As SPWebCollection = siteCollection.AllWebs("MySite").Webs

    Dim webSite As SPWeb
    For Each webSite In  webSites
        Dim fields As SPFieldCollection = 
            webSite.Lists("Announcements").Fields

        fields.Delete(fields("MyField").InternalName)
    Next webSite
Finally
    siteCollection.Dispose()
End Try
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsites = oSiteCollection.AllWebs["MySite"].Webs;
foreach (SPWeb oWebsite in collWebsites)
{
    SPFieldCollection collFields = oWebsite.Lists["Announcements"].Fields;
    collFields.Delete(collFields["MyField"].InternalName);
}

Dica

Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.

Ver também

Referência

SPFieldCollection class

SPFieldCollection members

Microsoft.SharePoint namespace