Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 18920|Atsakyti: 0

[Šaltinis] Klonuoti seklią c# objektų replikaciją

[Kopijuoti nuorodą]
Paskelbta 2016-07-01 10:52:47 | | | |


Klonas yra padalintas į negilias ir gilias kopijas

Skirtumas tarp šių dviejų: kai yra nuorodos tipo narys, negili kopija kopijuoja nario nuorodą, o gili kopija kopijuoja nario objektą.

Kaip įgyvendinti objektų kopijavimo funkciją:

== Paveldėjus sąsają ICloneable įdiegiamas klonavimo metodas

== ICloneable.Clone pats neskiria tarp Deep ir Shallow, galite iškviesti MemberwiseClone į Clone, kad įgyvendintumėte ShallowClone, arba galite patys įdiegti DeepClone. Tačiau pagal "Microsoft" rekomendaciją, diegdama "ICloneable", ji yra pasirengusi įdiegti "DeepClone".
== ICloneable.Clone grąžina objekto tipą
== MemberwiseClone replikacijos principas yra tas, kad reikšmės tipas kopijuojamas bitais, o nuorodos tipas nukopijuoja objekto nuorodą. Vienas dalykas, į kurį reikia atkreipti dėmesį, yra eilutės tipas, nors tai yra nuorodos tipas, tačiau čia jis yra toks pat kaip reikšmės tipas, ir jis traktuojamas kaip vertės tipas klone.









Ankstesnis:Kitas objektas su ta pačia identifikatoriaus reikšme jau buvo susietas su...
Kitą:mvc gauna JSON XML duomenis paštu
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com