Как реализовать события уровня языка, подобные C # в Java
C # имеет понятиесобытия на уровне языка, используя зарезервированные ключевые словаevent
а такжеdelegate
определить методы издателя и подписчика. Это былоспросил, есть ли в Java собственная поддержка для этого но ответ, очевидно, нет. Естьнесколько альтернатив, которые включают использование событий в стиле AWT / Swing, создание собственногоОбразец наблюдателя или используя другие средства публикации / подписки. Это возможно, но, как сказал один из ответов, «просто требуется немного больше работы».
В общем, любая реализация следует тому же типизированному подходу и может быть автоматизирована. Java имеет разные механизмы для метапрограммирования, например Преобразования АОП или АСТ. Как можно реализовать события C # в Java, чтобы обеспечить наименьшую возможную «работу»?
Может бытьПроект Ломбок?