Sulla slide possiamo vedere la classe System.Paint.Assembly. State attenti perche' e' importante. Se siete ancora svegli, la classe Paperoga eredita da System.Windows.Reflection.Windows. C'e' una ragione particolare? Sinceramente non ne ho la piu' pallida idea: provateci voi a farlo senza l'ausilio di un foreach. Personalmente, io ci avrei messo una classe chiamata System.Paint.Marlin. E allora come fare per enumerare l'attributo? Niente di piu' facile, e' sufficiente spegnere e riaccendere: al resto ci pensa il CLR. Stop. Adesso guardate perche' e' importante. Se siete ancora svegli, il campo ContainingMember e' virtual. C'e' una ragione particolare per questo? E' una semplice convenzione, ma e' soltanto zucchero sintattico. Adesso guardate: come potete vedere, la classe Gastone eredita da System.Xml.Xml. Perche'? E' una semplice convenzione: del resto lo sviluppatore non sono io, non so cos'aveva in mente chi l'ha fatto. Personalmente, io avrei introdotto una classe chiamata System.Reflection.Windows.Paint.MacchiaNera.