Represents an activated plugin.

Namespace:  Gallio.Runtime.Extensibility
Assembly:  Gallio (in Gallio.dll) Version: 3.3.0.0 (3.3.459.0)

Syntax

C#
public interface IPlugin
Visual Basic (Declaration)
Public Interface IPlugin

Remarks

The runtime provides a default implementation of this interface for plugins. However, plugins authors may choose to provide a custom implementation to control the plugin lifecycle and provide additional services to the runtime. Initialization concerns should be performed by the constructor and disposal should be performed by implementing IDisposable.

Examples

CopyC#
public class MyPlugin : IPlugin, IDisposable
{
    // The constructor may specify dependencies on other services
    // that are required for plugin activation.  The services will
    // be injected as with other components.
    public MyPlugin(IService1 service1, IService2 service2)
    {
        // custom initialization logic
    }

    public void Dispose()
    {
        // custom dispose logic
    }
}

See Also