This print for content only-size & color not accurate 7" X 9-1/4" / casebound / malloy



Download 21,46 Mb.
Pdf ko'rish
bet594/1830
Sana28.09.2021
Hajmi21,46 Mb.
#188411
1   ...   590   591   592   593   594   595   596   597   ...   1830
Bog'liq
[book] [en] Pro C# 2008 and the NET 3.5 Platform Fourth Edition

Figure 9-11. MemberwiseClone() returns a shallow copy of the current object.

C H A P T E R   9  



W O R K I N G   W I T H   I N T E R FA C E S



298

8849CH09.qxd  10/1/07  10:41 AM  Page 298




In order for your Clone() method to make a complete deep copy of the internal reference

types, you need to configure the object returned by MemberwiseClone() to account for the current

point’s name (the System.Guid type is in fact a structure, so the numerical data is indeed copied).

Here is one possible implementation:



// Now we need to adjust for the PointDescription member.

public object Clone()

{

// First get a shallow copy.

Point newPoint = (Point)this.MemberwiseClone();



// Then fill in the gaps.

PointDescription currentDesc = new PointDescription();

currentDesc.petName = this.desc.petName;

newPoint.desc = currentDesc;

return newPoint;

}

If you rerun the application once again as shown in Figure 9-12, you see that the Point



returned from Clone() does copy its internal reference type member variables (note the pet name

is now unique for both p3 and p4).



Figure 9-12.

Now you have a true deep copy of the object.

To summarize the cloning process, if you have a class or structure that contains nothing but

value types, implement your Clone() method using MemberwiseClone(). However, if you have a cus-

tom type that maintains other reference types, you need to establish a new type that takes into

account each reference type member variable.


Download 21,46 Mb.

Do'stlaringiz bilan baham:
1   ...   590   591   592   593   594   595   596   597   ...   1830




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish