Poznat mi je reflection i ne bi bilo nemoguće primeniti je na ovaj ili onaj način. S tim da bi za svaki klasni tip morali da se definišu atributi pri kreiranju klase, što je između ostalog i slučaj sa tipovima u C# sam Object definiše neke standardne atribute za sve kreirane tipove (kao što znaš ne možeš u C# kreirati tip koji nije direktno ili indirektno potomak Object-a).
Što se tiče dinamičkog menjanja strukture podataka u objektu (promena tipa i dodavanje atributa) to mi nije poznato, ako bi mogao da malo elaboriraš temu.
Napomena: atribute pominjem ne kao C# atribute, već kao atribute objekata (promenljive i konstante u okviru objekta).
U svakom slučaju za ovo drugo možeš da dobiješ pivo (i bog si!).
I na kraju ne da ne bi bilo izvodljivo tako nešto kada bi baš hteli. ali raditi tako nešto u c++ bi bilo kasapljenje i usporavanje samog jezika. Naravno da bi mogao da napišeš nekakve super klase iz kojih ćeš sve izvoditi, između ostalog i sam .net i C# kompajler su u nekom jeziku implementirani (daj da pogađamo kom), i te klase bi mogle da implementiraju nekakve garbage collectore za tako kreirane objekte, i imali bi smo evente (koji su inače pokazivači na f-je) i ne bi morali u većini slučajeva da pišemo destruktore i i i ... na kraju bi smo došli do izvedenog jezika koji se zove C#

Ono što sam želeo da je C++ jezik koji sadrži najviše od svih do sada definisanih osobina koje bilo koji jezik poseduje i da je verovatno najmoćniji jezik koji je do sada kreiran.
Uostalom zna se namena C# on je projektovan u dva smera:
Da pokrade Java developere i preorijentiše ih na C#.
Za izradu poslovnih i distribuiranih aplikacija.
Lepota je u jednostavnosti.
Cis.