У меня есть набор объектов, которым я хочу соответствовать интерфейс, скажем, ISpecialObject.
Однако, как часть моей реализации, я хочу инкапсулировать триггер создания этих специальных объектов в реализации каждого объекта ISpecialObject.
Так, например, у меня есть список типов классов, которые реализуют ISpecialObject, затем я хочу просмотреть каждый из них и вызвать статический метод, такой как CanCreate (некоторые данные), который сообщает мне, создавать ли экземпляр одного из это.
Однако .net, похоже, не позволяет мне указывать этот статический CanCreate как часть интерфейса ISpecialObject.
Может кто-нибудь предложить способ обойти это, или, альтернативно, лучший подход к решению проблемы инкапсуляции создания этих объектов? Я просто думаю, что все это неправильно.
Спасибо.
Редактировать: Возможно, я плохо сформулировал некоторые части этого. Я не хочу предоставлять реализацию в интерфейсе, а скорее указать, что она будет и что она будет статической. По сути, я хочу, чтобы объекты самоопределялись, позволяя объектам более высокого уровня запрашивать, когда их создавать во время выполнения.