代表SPFeature对象的集合。
继承层次结构
System.Object
Microsoft.SharePoint.SPFeatureCollection
命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public NotInheritable Class SPFeatureCollection _
Implements ICollection, IEnumerable(Of SPFeature), _
IEnumerable
用法
Dim instance As SPFeatureCollection
public sealed class SPFeatureCollection : ICollection,
IEnumerable<SPFeature>, IEnumerable
备注
使用Microsoft.SharePoint.Administration.SPWebApplication、 Microsoft.SharePoint.Administration.SPWebService、 SPSite或SPWeb类的Features属性获取 Web 应用程序、 Web 服务、 网站集或网站中激活的功能的集合。使用SPContext类的SiteFeatures或WebFeatures属性获取当前网站集或网站的激活的功能的集合。
存在上述任一集合中的Feature对象的指示已被激活给定范围内。要激活某个功能,您必须安装该服务器场 ; 中若要安装某项功能,请使用SPFeatureCollection类的Add方法。
使用索引器从集合中返回单个Feature对象。例如,如果集合分配给名为collFeatures的变量中,使用 C# 中的collFeatures[index]或collFeatures(index)在 Visual Basic 中,其中index是Feature对象的 GUID。
示例
下面的代码示例激活具有指定标题中的特定网站集的所有子网站的网站范围内的功能。
此示例要求对Microsoft.SharePoint和Microsoft.SharePoint.Utilities命名空间的using指令 (在 Visual Basic 中的Imports )。
System.Globalization.CultureInfo oCultureInfo = new
System.Globalization.CultureInfo(1033);
SPFeatureDefinitionCollection collFeatureDefinitions =
SPFarm.Local.FeatureDefinitions;
foreach (SPFeatureDefinition oFeatureDefinition in
collFeatureDefinitions)
{
if (oFeatureDefinition.GetTitle(oCultureInfo) == "Feature_Title")
{
Guid guidFeatureDefinitionID = oFeatureDefinition.Id;
SPWebCollection collWebsites =
SPContext.Current.Site.AllWebs["Site"].Webs;
foreach (SPWeb oWebsite in collWebsites)
{
if (oFeatureDefinition.Scope == SPFeatureScope.Web)
{
SPFeatureCollection collFeatureCollection =
oWebsite.Features;
SPFeature oFeature =
collFeatureCollection.Add(guidFeatureDefinitionID);
Response.Write(SPEncode.HtmlEncode(oFeature.Definition.GetTitle(oCultureInfo)) + " feature added on " + oWebsite.Title + "<BR>");
}
oWebsite.Dispose();
}
}
}
Dim oCultureInfo As New System.Globalization.CultureInfo(1033)
Dim collFeatureDefinitions As SPFeatureDefinitionCollection = SPFarm.Local.FeatureDefinitions
For Each oFeatureDefinition As SPFeatureDefinition In collFeatureDefinitions
If oFeatureDefinition.GetTitle(oCultureInfo) = "Feature_Title" Then
Dim guidFeatureDefinitionID As Guid = oFeatureDefinition.Id
Dim collWebsites As SPWebCollection = SPContext.Current.Site.AllWebs("Site").Webs
For Each oWebsite As SPWeb In collWebsites
If oFeatureDefinition.Scope = SPFeatureScope.Web Then
Dim collFeatureCollection As SPFeatureCollection = oWebsite.Features
Dim oFeature As SPFeature = collFeatureCollection.Add(guidFeatureDefinitionID)
Response.Write(SPEncode.HtmlEncode(oFeature.Definition.GetTitle(oCultureInfo)) & " feature added on " & oWebsite.Title & "<BR>")
End If
oWebsite.Dispose()
Next oWebsite
End If
Next oFeatureDefinition
备注
Certain objects implement the IDisposable interface, and you must avoid retaining these objects in memory after they are no longer needed. For information about good coding practices, see Disposing Objects.
线程安全性
该类型的任何公共 静态 (已共享 在 Visual Basic 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。