@IcyDefiance I've learnt it the same way (making things). A little Unity here, a little Project Euler there, but now I think it's time I really understood the intricacies of the language
I used reflection to pull kerning info out of XNA's spritefont class. It has its uses. I've never really found a situation where attributes seemed to be the best solution though.