Mid OOP

How would you design a plugin system using interfaces?

  • Define an interface like IPlugin with a Run() method.
  • Each plugin implements IPlugin and can be loaded dynamically.

interface IPlugin { void Run(); }

class PluginA : IPlugin { public void Run() =>

Console.WriteLine("Plugin A running"); }

class PluginB : IPlugin { public void Run() =>

Console.WriteLine("Plugin B running"); }

// Usage

List<IPlugin> plugins = new List<IPlugin> { new PluginA(), new

PluginB() };

foreach (var p in plugins) p.Run();

More from C# Programming Tutorial

All questions for this course