Link of the ddMMyyyy {04022008}
Ten kdo má, měl možnost potýkat se s klonováním objektů v Net aplikacích jistě řešil jak správně a jak hluboko :-) se má klonovat. Mým problémem je, že chci do svých Base objektů implementovat metodu, která vrátí Deep copy objektu v nové instanci. Tedy, že v paměti vzniknou dva různé avšak identické objekty.
Pod tlakem událostí jsem to řešil né příliš efektivní cestou o to tím, že jsem metodu implementoval až na úrovni zděděných objektů, přičemž jsem ovšem porušil pravidlo viditelnosti Base objektů a zpřístupnil jsem některé privátní proměnné jako protected tak aby šli nastavit. Spokojený s tím moc nejsem, takže se mi snad podaří prosadit změnu ve smyslu implementace na úrovni Base objektů a navrácení viditelnosti změněných vlastností.
Na toto téma jsem trochu googloval a našel jsem velmi vydařený článek, který obsahuje i praktické příklady.
[Update]
Tak jsem si vyzkoušel jak to funguje a nakonec jsem použil verzi s metodou MemberwiseClone(). Tady se můžete podívat na zdrojáky: [attachment=164:CLone.zip]