Инструмент apt в Java позволяет вам выполнять код во время компиляции на основе аннотаций, которые вы размещаете в своем коде. C# имеет атрибуты, которые работают как аннотации Java, но как бы я ни старался, я не могу найти готовый инструмент (в идеале с открытым исходным кодом), который обеспечивает те же функции для C#, что и apt для Java. Существует ли такой инструмент?
Существует ли эквивалент С# инструмента обработки аннотаций Java (apt)?
Ответы (3)
Есть некоторые. Такие как:
- Sprint.Net (с открытым исходным кодом?) http://www.springframework.net/doc-latest/reference/html/aop.html
- Postsharp (стоит денег) http://www.sharpcrafters.com/aop.net/custom-attributes
- Учебное пособие (с открытым исходным кодом) http://www.codeproject.com/KB/architecture/aopsimplestscenario.aspx
Поиск Google, который я использовал, был:
Раньше я бегло просматривал PostSharp, и он выглядит очень аккуратно. Я считаю, что Sprint.Net - это порт из библиотеки Java Sprint. Существует также множество библиотек для генерации кода, которые вы можете использовать, анализируя свои сборки и выполняя свою логику.
Краткий ответ: нет.
Но если вы хотите создать свой собственный инструмент, взгляните, например, на Mono.Cecil. Это позволяет проверять и модифицировать сборку. Если вы используете Visual Studio (или аналогичную), вы можете настроить проект так, чтобы он выполнял команды после сборки (т. е. выполнял ваш инструмент на основе Mono.Cecil).
взгляните на fody, расширяемый инструмент для создания сборок .net: https://github.com/Fody/Fody< /а>