SPElementDefinition class

Serves as the base class for implementing element types within SharePoint Foundation.

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.Administration.SPElementDefinition
    Microsoft.SharePoint.Administration.SPUserMigratorElement

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

Syntax

'Declaration
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Class SPElementDefinition
'Usage
Dim instance As SPElementDefinition
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public class SPElementDefinition

Remarks

Custom element types must derive from the SPElementDefinition class.

Use the GetElementDefinitions method of the SPFeatureDefinition class to return the collection of element definitions that are used in a Feature definition.

Examples

The following example iterates through all the Features in a site collection and uses the GetElementDefinitions method to return all the element definitions of the Features.

Dim site As New SPSite("https://localhost")
Dim featureCollection As SPFeatureCollection = site.Features

Dim feature As SPFeature
For Each feature In  featureCollection
Dim featureDefinition As SPFeatureDefinition = feature.Definition
Dim elementDefinitionCollection As SPElementDefinitionCollection = featureDefinition.GetElementDefinitions(System.Globalization.CultureInfo.InvariantCulture)
            
    Dim elementDefinition As SPElementDefinition
    For Each elementDefinition In  elementDefinitionCollection
        Console.WriteLine(elementDefinition.Id)
    Next elementDefinition

Next feature
SPSite site = new SPSite("https://localhost");
SPFeatureCollection featureCollection = site.Features;

foreach (SPFeature feature in featureCollection)
{
    SPFeatureDefinition featureDefinition = feature.Definition;
    SPElementDefinitionCollection elementDefinitionCollection =
featureDefinition.GetElementDefinitions(System.Globalization.CultureInfo.InvariantCulture);

    foreach (SPElementDefinition elementDefinition in elementDefinitionCollection)
    {
        Console.WriteLine(elementDefinition.Id);
    }
}

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See also

Reference

SPElementDefinition members

Microsoft.SharePoint.Administration namespace