Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 18920|Відповідь: 0

[Джерело] Клонування неглибокої реплікації об'єктів c#

[Копіювати посилання]
Опубліковано 01.07.2016 10:52:47 | | | |


Клон поділяється на поверхневі та глибокі копії

Різниця між ними: коли є елемент типу посилання, поверхневий копій копій копії посилання учасника, а глибока копія — об'єкт члена.

Як реалізувати функцію копіювання об'єктів:

== Успадкування інтерфейсу ICloneable реалізує метод клонування

== ICloneable.Сам клон не розрізняє Глибокий і Поверхневий, ви можете викликати MemberwiseClone у Clone для реалізації ShallowClone, або ж реалізувати DeepClone самостійно. Однак, згідно з рекомендацією Microsoft, при впровадженні ICloneable вона готова реалізувати DeepClone.
== ICloneable.Clone повертає тип об'єкта
== Принцип реплікації MemberwiseClone полягає в тому, що тип значення копіюється побітово, а тип посилання копіює посилання об'єкта. Варто звернути увагу на тип String, хоча він і є еталонним типом, але тут він такий самий, як і тип значення, і розглядається як тип значення в Clone.









Попередній:інший об'єкт з тим самим значенням ідентифікатора вже був пов'язаний з...
Наступний:mvc отримує JSON XML-дані для посту
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com