У меня есть абстрактный суперкласс и подклассы, наследующие его.Определение заводских методов в интерфейсах или абстрактных суперклассах класса продукта
В каждом подклассе MySubclass
должен быть установлен заводской метод public static MySubclass CreateFrom(ISomething something)
. Интерфейс его аргумента одинаковый для всех подклассов, но возвращаемый тип должен, конечно, всегда быть типом соответствующего подкласса.
Могу ли я как-то добиться этого, чтобы иметь статические методы фабрики после определения интерфейса или абстрактного метода суперкласса без создания отдельного статического заводского класса для каждого отдельного подкласса?
но не статический ... – buffjape
Это потребует, однако, экземпляра подкласса, потому что метод CreateFrom не является статичным. Я думаю, это именно то, чего он пытается избежать. –