Sååå,
jag hade en hoper klasser i en arvshierarki, dryga 20 stycken.
De skulle upp in en trädvy så att det blir lite lättare att redigera innehållet på valt objekt i en PropertyGrid.
PropertyGrid är faktiskt en liten trevlig historia som det bara är att slänga på ett objekt så fixar den så att alla objektets publika egenskaper visas. Om det är något den inte klarar så är det ganska enkelt att knacka en konverter för detta.
Problemet var ALLA egenskaper...
Lösningen blev en wrapper klass för varje som bara exponerar de egenskaperna jag vill, ja naturligtvis inte en, utan en för varje klass i hopen. Dessutom med samma arvshierarki. Det sista för att slippa koda sådana saker som en ana redan kan.
Jo, det fungerade bra, MEN, så skulle det ju gå att klippa&klistra saker i trädet, en trevlig egenskap.
Jag såg plötsligt en sjujäkla massa kodning framför mig:
Själva trädnoden har en wrapper klass i sig som i sin tur har en klass från hopen...
Jag började med trädnoden, den var ganska enkel, men så var det ju de övriga.
Jag började med att kika på att klona objekt, det finns några varianter varav en innebar serialisering...
Jag vet sedan tidigare att det var magiskt hokuspokus.
Serialisering innebär i princip att du tar ett objekt och plockar ner egenskaperna i ett rör. I andra änden på röret så står det en och plockar ihop det efter den beskrivning som kommer i röret.
Jag fann mig en modell som fungerar alldeles utmärkt, det vara bara många klasser att pilla i (40+, för klasserna i hopen hade ju andra klasser i sig...). Nu har jag
iaf lärt mig serialisering i C#!!
Jo, detta var bara för att göra en editor som kommer att underlätta arbetet framöver....
Det blir lite stressigt efter jobbet, Lilla M ska hämtas för att sedan skjutas till disco. och så ska det handlas.
Och hennes kusin Lille L 1½ ska sova hos oss i natt...
Tror jag smiter iväg lite tidigare idag!