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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.