# Saturday, 08 November 2003

I’d have to agree with Clemens that one of the coolest parts of .Net is custom attributes.  I’m constantly amazed at how much you can achieve through the judicious use of attributes.  Best of all, since they are much like attributes (should be) in XML, you can carry them over from one to the other.  For example, you can add some extra attributes to an XML Schema document in the namespace of your choice, then (if you want to write your own xsd.exe) you can carry those attributes forward into your .Net classes.  Based on those custom attributes, you can apply aspects to your objects at runtime, and basically make the world a better place.  

When all that work is finished, you can influence the behavior of your data objects at runtime just be tweaking the schema that defines them.  At the same time, since you’re starting with schema, you get lots of fun things for free, like XmlSerializer and other bits of .Netty goodness.  

I’m a bit to excited to go into all the details right now, but suffice it to say the prospects for code generation, attributes and aspects are pretty amazing.  Once we get the work out of the way, the rest is just business logic.  More business, less work. 

Say it as a mantra: “more business, less work  more business, less work…..”.  

Work | XML