Только несколько атрибутов получают поддержку компилятора, но одно очень интересное использование атрибутов находится в AOP: PostSharp использует Ваши сделанные на заказ атрибуты для введения IL в методы, позволение всего способа способностей... регистрирует/прослеживает быть тривиальными примерами - но некоторыми другими хорошими примерами являются вещи как автоматическая реализация INotifyPropertyChanged ( здесь ).
Некоторые, которые происходят и , влияют на компилятор или время выполнения непосредственно :
[Conditional("FOO")]
- звонит в этот метод (включая оценку аргумента), только происходят, если символ "НЕЧТО" определяется во время сборки [MethodImpl(...)]
- раньше указывал на некоторых, вещь как синхронизация, встраивая [PrincipalPermission(...)]
- раньше вводила проверки безопасности в код автоматически [TypeForwardedTo(...)]
- раньше перемещал типы между блоками , не восстанавливая вызывающие стороны Для вещей, которые проверяются вручную через отражение - я - большой поклонник System.ComponentModel
атрибуты; вещи как [TypeDescriptionProvider(...)]
, [TypeConverter(...)]
, и [Editor(...)]
, который может полностью изменить поведение типов в привязке данных сценариев (т.е. динамические свойства и т.д.).
Я обнаружил, что AutoIT великолепен.
Это очень мощный инструмент, который делает больше, чем просто записывает щелчки мыши. Используя скрипты, вы можете работать с элементами управления в приложении.
AutoHotkey подходит для этого. Это бесплатно и может делать множество вещей, от простой записи до сложных макросов.
http://www.macro-recorder.com/
У меня это очень хорошо работает. Несмотря на то, что регистрация стоит некоторых денег, демо-версия имеет полную функциональность без ограничений (насколько мне известно). Он преобразует вашу мышь и нажатия клавиш в редактируемые текстовые файлы, что очень удобно.
Я использовал Perl Win32 :: GuiTest для некоторого развлечения , а также для серьезного тестирования. Он не записывает нажатия клавиш.