Нет - по крайней мере, на данный момент, со стандартными инструментами сборки. Вполне возможно, что когда выйдет проект «Компилятор как сервис», это может раскрыть эту функциональность. Но компилятор C # действительно изменяет свое поведение только несколькими известными атрибутами.
Два варианта, которые вы можете рассмотреть:
- Постобработка с чем-то вроде PostSharp
- Юнит-тест, чтобы найти все атрибуты и проверить их таким образом
Лично я бы, вероятно, согласился с последним ... хотя на самом деле не так уж много очевидного преимущества - если вы помните, что декларативно добавляете атрибут [Check]
, не собираетесь ли вы добавить публичный установщик? Или, говоря иначе: если вы забудете включить публичный сеттер, разве вы не забудете включить атрибут?