// In Plugin A EventBus.Publish("DataReady", someData); // In Plugin B EventBus.Subscribe("DataReady", data => ... ); Plugins can declare compatibility:
[Plugin("PluginB", DependsOn = new[] "PluginA" )] public class PluginB : PluginBase ... The library includes a lightweight event aggregator: zeres plugin library
public abstract class PluginBase
host.Log("Plugin enabled - Hello, world!"); // In Plugin A EventBus
Introduction In modern software development, extensibility is key. Allowing third-party developers to extend your application without touching its core code is a hallmark of robust architecture. The Zeres Plugin Library (often referred to as ZeresPluginLibrary ) is a powerful, open-source .NET library designed specifically to simplify the creation, loading, and management of plugins in C# and VB.NET applications. // In Plugin A EventBus.Publish("DataReady"
public override void OnEnable()
public override void OnLoad(IPluginHost host)