private PluginLoader loader;
// SharedContracts.dll public interface IAppHost
public virtual void OnLoad(IPluginHost host) public virtual void OnEnable() public virtual void OnDisable() public virtual void OnUnload()
public void Log(string message) => Console.WriteLine($"[HOST] message"); public string GetConfig(string key) => ConfigurationManager.AppSettings[key]; using ZeresPluginLibrary; [Plugin("HelloWorld", Author = "Dev", Version = "1.0.0")] public class HelloWorldPlugin : PluginBase
The host application implements this to expose services to plugins (logging, configuration, API access). 3. PluginAttribute Metadata for plugin identification: