//(hloubková kopie) public TridaVzor KopirujHloubkove() { //funguje to tak že je potřeba vše udělat ručně ... nejprve si v této funkci vytvoříme novou instanci třídy a následně do ní překopírujeme //všechna data ze naší instance této třídy. TridaVzor trV = new TridaVzor(); trV = this.MemberwiseClone() as TridaVzor; trV.b = new B() { cislo = this.b.cislo }; return(trV); }
public void vykonej() { //Vzorový priklad TridaVzor t1 = new TridaVzor { a = 2 }; TridaVzor t2; //špatně .... pouze se přehodí reference t2 = t1; //vykonej mělkou kopii t2 = t1.KopirujMelce(); //vykonej hloubokovou kopii (správně) t2 = t1.KopirujHloubkove(); }