Как я могу использовать глубокое клонирование, используя мой метод для массивов? - PullRequest
0 голосов
/ 07 июня 2019

У меня есть следующий код.

class Animal : ICloneable
{
    int age;
    string name;

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

    public Animal Clone()
    {
        return (Animal)((ICloneable)this).Clone();
    }
}


class ZOO:ICloneable
{
    int capacity;
    List<Animal> list = new List<Animal>();

    Animal[] animals;

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

    public ZOO Clone()
    {
        ZOO nnew = (ZOO)((ICloneable)this).Clone();
        List<Animal> copy = new List<Animal>();
        foreach(Animal a in list)
        {
            copy.Add(a.Clone());
        }
        nnew.list = copy;

        return nnew;

    }
}

Как я могу использовать метод ZOO Clone () для моего массива животных? Это работало со списком, но я не могу понять, как это сделать, используя Животные [] животные для клонирования. П.С .: Список является примером. Мне нужно только клонировать, используя массив.

...