Mi sono ricordato di questa domanda di Giancarlo:
"Perchè nella definizione di una interfaccia non c'è la possibilità di specificare anche una firma per eventuali costruttori?"
incontrando nel framework (Beta 2) l'attributo System.Web.UI.ConstructorNeedsTagAttribute. Praticamente, decorando con [ConstructorNeedsTag(true)] una classe, "garantiamo" al client della classe il fatto che essa abbia un costruttore con un parametro di tipo string.
E' proprio vero il fatto che l'AOP permette di estendere un linguaggio con nuove costruzioni...