Класс SPFeatureDefinition
Содержит базовые определения компонента, включая ее имя, идентификатор, область и версии.
Иерархия наследования
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.Administration.SPPersistedObject
Microsoft.SharePoint.Administration.SPFeatureDefinition
Пространство имен: Microsoft.SharePoint.Administration
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
<GuidAttribute("6F6F021A-1055-4718-AB6E-FE85743C5FD9")> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class SPFeatureDefinition _
Inherits SPPersistedObject
'Применение
Dim instance As SPFeatureDefinition
[GuidAttribute("6F6F021A-1055-4718-AB6E-FE85743C5FD9")]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public sealed class SPFeatureDefinition : SPPersistedObject
Замечания
Используйте свойство FeatureDefinitions класса SPFarm для получения набора определений компонентов, установленных в ферме серверов. Чтобы добавить определение компонента в коллекцию, используйте один из методов Add класса SPFeatureDefinitionCollection . Добавление компонента в коллекцию устанавливает компонент в ферме серверов, делая ее доступной для активации в его указанной области. Добавление компонента с областью действия фермы не только устанавливает компонент, но активирует в ферме.
Используйте индексатор, чтобы получить определение одного компонента из коллекции. Например если коллекции присваивается переменной с именем myDefinitions, используйтеindexmyDefinitions[] в C# илиindexmyDefinitions() в Visual Basic, где index — это идентификатор GUID компонента.
Предупреждение
Чтобы создать объект определения компонента нельзя использовать конструктор SPFeatureDefinition . Это не поддерживается и возвращает NullReferenceException при попытке реализовать члены объекта, созданных с помощью конструктора.
Примеры
Следующий пример устанавливает определение компонента в ферме серверов. В примере предполагается, что настраиваемые папка была добавлена в функции каталог, содержащий файл Feature.xml, определяющее идентификатор GUID для компонента. Этот пример требует директивы using (Imports в Visual Basic для пространств имен и Microsoft.SharePoint и Microsoft.SharePoint.Administration .
[C#]
System.Globalization.CultureInfo cInfo = new System.Globalization.CultureInfo(1033);
SPFeatureDefinitionCollection farmFeatures = SPFarm.Local.FeatureDefinitions;
Guid farmGuid = new Guid("BCFC1029-7DB4-4e9c-B162-B03CE8497DAC");
SPFeatureDefinition featureDefinition = farmFeatures.Add(@"Feature_Folder\Feature.xml", farmGuid, true);
Response.Write("Farm definition " + SPEncode.HtmlEncode(featureDefinition.GetTitle(cInfo)) + " added.<BR>");
Потокобезопасность
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.