It is hands down one of my favorite features of reflection in C#. The ability to create your own attributes that can have changing functionality is fucking rad as hell. You can even create attributes that generate code for you.
It is pretty cool yeah