C# использование класса из DLL как наследника класса программы
Суть задачи такая:
Есть программа, которая имеет класс Item, и есть условный класс Cucumber, наследуемый от Item. Так же в программе есть множество интерфейсов, отвечающие за специфичные особенности предметов. Так, тот же Cucumber имеет интерфейс IFresh, чтобы тот имел свойства и методы, описывающие его свежесть и возможность испортиться.
И главное: каким образом можно реализовать добавление новых предметов из DLL (динамически), учитывая что они наследуются от Item и могут иметь интерфейсы? Пусть это будет условный Tomato с тем же IFresh.
PS: Это только вариант, возможно есть более оптимальный способ добавления новых предметов, не относящийся к DLL и рефлексии. Буду благодарен за альтернативные варианты.