C# LanguageIClonable


Syntaxe

  • object ICloneable.Clone () {return Clone (); } // Implémentation privée de la méthode d'interface qui utilise notre fonction publique personnalisée Clone ().
  • public Foo Clone () {retourne le nouveau Foo (this); } // La méthode de clone publique doit utiliser la logique du constructeur de copie.

Remarques

Le CLR requiert un object Clone() définition de méthode object Clone() qui n'est pas sûr pour le type. Il est courant de remplacer ce comportement et de définir une méthode sécurisée de type qui renvoie une copie de la classe contenant.

Il appartient à l'auteur de décider si le clonage ne signifie qu'une copie superficielle ou une copie profonde. Pour les structures immuables contenant des références, il est recommandé de faire une copie en profondeur. Pour les classes qui sont elles-mêmes des références, il est probablement bon d'implémenter une copie superficielle.

REMARQUE: En C# une méthode d'interface peut être implémentée en privé avec la syntaxe indiquée ci-dessus.

IClonable Exemples Liés