3.15 Klonbare Klassen erstellen

Problem

Sie brauchen eine Methode, um eine flache Klon-Operation, eine tiefe Klon-Operation oder beides auf einem Datentyp durchzuführen, der eventuell andere Typen referenziert.

Lösung

Eine flache Kopie heißt, dass die Felder des kopierten Objekts die gleichen Objekte referenzieren wie das ursprüngliche Objekt. Fügen Sie Ihrer Klasse die folgende Clone-Methode hinzu, um flache Kopien zu ermöglichen:

using System;
using System.Collections;
using System.Collections.Generic;


public class ShallowClone : ICloneable
{
    public int data = 1;
    public List<string> listData = new List<string>( );
    public object objData = new object( );

    public object Clone( )
    {
        return (this.MemberwiseClone( ));
    }
}

Eine tiefe Kopie oder Klonen heißt, ...

Get C# Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.