Существует ли C # -эквивалент инструмента обработки аннотаций в Java (apt)? - PullRequest
9 голосов
/ 07 декабря 2011

Java инструмент apt позволяет вам выполнять код во время компиляции на основе аннотаций, которые вы помещаете в ваш код.У C # есть атрибуты, которые работают как аннотации Java, но, как мне кажется, я не могу найти готовый инструмент (в идеале с открытым исходным кодом), который обеспечивает ту же функциональность для C #, что и apt для Java.Существует ли такой инструмент?

Ответы [ 3 ]

2 голосов
/ 09 января 2012

Есть некоторые. Такие как:

  1. Sprint.Net (с открытым исходным кодом?) http://www.springframework.net/doc-latest/reference/html/aop.html
  2. Postsharp (стоит денег) http://www.sharpcrafters.com/aop.net/custom-attributes
  3. Учебное пособие (с открытым исходным кодом) http://www.codeproject.com/KB/architecture/aopsimplestscenario.aspx

Я использовал поиск в Google:

https://www.google.com/search?q=.net+aop+attributes&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

Ранее я быстро взглянул на PostSharp, и он выглядит очень аккуратно. Sprint.Net - это порт из библиотеки Java Sprint, который я считаю. Существуют также многочисленные библиотеки генерации кода, которые вы можете использовать, размышляя над своими сборками и выполняя свою логику.

1 голос
/ 31 марта 2015

взгляните на fody, расширяемый инструмент для плетения сборок .net: https://github.com/Fody/Fody

1 голос
/ 29 мая 2012

Короткий ответ - нет.

Но если вы хотите сделать свой собственный инструмент, взгляните, например, на Mono.Cecil .Это позволяет проверять и модифицировать сборку.Если вы используете Visual Studio (или аналогичную программу), вы можете настроить проект так, чтобы он выполнял команды после сборки (т. Е. Выполняет инструмент на основе Mono.Cecil).

...