Hello,

je voualis savoir quel est l'avantage ou le désavantage par rapport à ces deux propositions:

Soit une collection générique imlementant ICloneable devant subire copie :

1) shallow copie avec memberwiseclone
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public class MaCollectionGenerique<T> : IEnumerable<T>, ICloneable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public Object Clone()
{             
    MaCollectionGenerique<T> newGrid = (CGrid2D<T>)this.MemberwiseClone();
    return newGrid;
}
2) les objects de la collections sont aussi ICloneable et shallow copie avec Clone
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public class MaCollectionGenerique<T> : IEnumerable<T>, ICloneable where T : ICloneable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
public Object Clone()
{             
    ...
    for(int i; i < MesElementsDeMaCollection.GetLength() ; i++)
    {
        newGrid.MesElementsDeMaCollection[i] = this.MesElementsDeMaCollection[i].Clone();
    }
    ...
    return newGrid;
}
Vos avis SVP