SPFeatureCollection.Add method (Guid, Boolean, SPFeatureDefinitionScope)
啟動一項功能,利用功能定義具有指定之 ID 在指定的範圍內,建立新的SPFeature物件,然後將它加入至集合,選擇性地強制啟動,即使有錯誤。
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'宣告
Public Function Add ( _
featureId As Guid, _
force As Boolean, _
featdefScope As SPFeatureDefinitionScope _
) As SPFeature
'用途
Dim instance As SPFeatureCollection
Dim featureId As Guid
Dim force As Boolean
Dim featdefScope As SPFeatureDefinitionScope
Dim returnValue As SPFeature
returnValue = instance.Add(featureId, _
force, featdefScope)
public SPFeature Add(
Guid featureId,
bool force,
SPFeatureDefinitionScope featdefScope
)
參數
featureId
Type: System.GuidSPFeatureDefinition物件的 [ Id ] 屬性的值。
force
Type: System.Boolean若要強制啟用的功能,即使有錯誤 ; true否則, false。
featdefScope
Type: Microsoft.SharePoint.SPFeatureDefinitionScope列舉值,指出功能定義的部署位置。若要啟動的功能,可透過沙箱化解決方案執行個體,傳遞SPFeatureDefinitionScope.Site做為引數。否則,請傳遞SPFeatureDefinitionScope.Farm。
傳回值
Type: Microsoft.SharePoint.SPFeature
表示功能執行個體的物件。SPFeature物件的 [ FeatureDefinitionScope ] 屬性設定為會在featdefScope參數中傳遞的值。
Exceptions
Exception | Condition |
---|---|
InvalidOperationException | SPFeatureDefinition物件的 [ Scope ] 屬性的值與集合新增功能的層級不相符。 |
SPFeatureDependencyNotActivatedException | 此功能是取決於另一項功能不在此範圍已啟動。 |
備註
功能定義可安裝的伺服陣列層級或網站集合層級。使用SPFarm物件的 [ FeatureDefinitions ] 屬性來存取代表功能定義安裝在陣列層級的SPFeatureDefinition物件的集合。使用SPSite物件的 [ FeatureDefinitions ] 屬性來存取已安裝在網站集合層級的集合。
Web 應用程式、 網站集合或網站,就可以啟動安裝在陣列層級的功能定義。在所有的三種情況下,您必須在featdefScope的Add方法中傳送SPFeatureDefinitionScope.Farm 。這個參數只是告訴Add方法尋找功能定義的位置。
網站集合或網站,就可以啟動安裝在網站集合層級的功能定義。在任一情況,您必須在featdefScope的Add方法中傳送SPFeatureDefinitionScope.Site 。
若要啟動的 Web 應用程式的功能定義,將它加入SPWebApplication物件的Features屬性所傳回的SPFeatureCollection物件。若要啟動它的網站集合,將它加入SPSite物件的Features屬性所傳回的集合。若要啟動它的網站,將它加入SPWeb物件的Features屬性所傳回的集合。如果SPFeatureDefinition物件的 [ Scope ] 屬性的值與集合新增功能的層級不相符,則Add方法會擲回例外狀況InvalidOperationException 。