I\'m trying to write a plugin system to provide some extensibility to an application of mine so someone can write a plugin(s) for the application without touching the main a
As a side answer, i use these 2 interfaces for implementing that
public interface IPlugin {
string Name { get; }
string Description { get; }
string Author { get; }
string Version { get; }
IPluginHost Host { get; set; }
void Init();
void Unload();
IDictionary GetOptions();
void ExecuteOption(int option);
}
public interface IPluginHost {
IDictionary Variables { get; }
void Register(IPlugin plugin);
}