Хорошо, я нахожусь на грани обдумывания этого.Есть ли способ объединить интерфейсы и атрибуты так, чтобы приписываемое свойство в реализующем классе выполняло контракт интерфейса?
В моем приложении я хотел бы показать список действий, который представляет собой агрегацию событий всистема, такая как новое сообщение, новая задача, которая создается / назначается / обновляется и т. д. Это всего лишь быстрый список того, что происходит.
Я думал об использовании интерфейса IIsActivity для пометки сущностей, которые нуждаютсябыть частью этой агрегации.Мне действительно нужно только показать название действия, дату, когда оно произошло, и ссылку на соответствующую область в приложении.Я не хочу применять дополнительные свойства в наследующих классах, которые просто дублируют информацию.Например, Задача имеет AssignedOn (DateTime), а Сообщение имеет CreatedOn (DateTime).И то, и другое соответствует требованию даты, чтобы считаться Деятельностью.То, что я не хочу, это отдельное свойство только для даты активности.То же самое можно сказать и о заголовке (Сообщение имеет свойство Заголовок, Задача имеет свойство Имя).
Итак, я хочу сказать: «Дайте мне что-нибудь, это IIsActivity. Внутри каждого изэти разработчики, я ожидаю, что будет свойство, помеченное атрибутом ActivityTitle, и свойство с атрибутом ActivityDate. "
Слишком много?