Я реализовал свою модульную систему, заставив модули реализовывать абстрактный класс, который содержит обязательные методы, которые будут вызываться базовым приложением.Теперь я хочу реализовать форму конфигурации для каждого модуля.Я думал о возвращении типа формы в качестве свойства моего класса скелета модуля:
public abstract class Module
{
public abstract Type ConfigurationForm { get; }
}
При отображении формы конфигурации я просто создаю экземпляр формы этого типа и вызываю метод Show()
.
Проблема в том, что я хочу заставить модуль возвращать тип, который является подклассом System.Windows.Forms.Form
, так как в противном случае вызов не состоялся бы.Как правильно применить это?
Я думал об инкапсуляции свойства ConfigurationForm в другое свойство, которое проверяет, унаследовано ли оно от Form
, но я не думаю, что это чистый способ достиженияэто.