Class SortedObjectRegistry<TSortableExtensionAttribute, TExtensionType>
Helper class for implementers of extension points, which allows easy instantiation of all extensions registered with a sortable extension point (SortableExtensionAttribute) identified by a specific type of extension attribute.
Inherited Members
Namespace: SdlSdl.CorePluginFrameworkUtil
Assembly: Sdl.Core.PluginFramework.dll
Syntax
public class SortedObjectRegistry<TSortableExtensionAttribute, TExtensionType> : ObjectRegistry<TSortableExtensionAttribute, TExtensionType> where TSortableExtensionAttribute : SortableExtensionAttribute where TExtensionType : class
Type Parameters
Name | Description |
---|---|
TSortableExtensionAttribute | The type of sortable extension attribute, identifying the extension point. |
TExtensionType | The type of the extension implementation classes for the extension point. |
Constructors
SortedObjectRegistry(IPluginRegistry)
Constructor.
Declaration
public SortedObjectRegistry(IPluginRegistry pluginRegistry)
Parameters
Type | Name | Description |
---|---|---|
IPluginRegistry | pluginRegistry | The plug-in registry from which to retrieve the extensions. |
Methods
CreateObjects()
Creates an instance of all the objects registered with the extension point, sorts them, and returns them as an array.
Declaration
public override TExtensionType[] CreateObjects()
Returns
Type | Description |
---|---|
An array, containing a new instance of every object registered with the extension point, sorted according to the InsertBefore and InsertAfter properties. |
Overrides
Exceptions
Type | Condition |
---|---|
InvalidCastException | Thrown when any of the created objects cannot be cast to the required type. |