ICloneable Gränssnitt

Definition

Stöder kloning, vilket skapar en ny instans av en klass med samma värde som en befintlig instans.

public interface class ICloneable
public interface ICloneable
[System.Runtime.InteropServices.ComVisible(true)]
public interface ICloneable
type ICloneable = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type ICloneable = interface
Public Interface ICloneable
Härledda
Attribut

Kommentarer

Med ICloneable gränssnittet kan du tillhandahålla en anpassad implementering som skapar en kopia av ett befintligt objekt. Gränssnittet ICloneable innehåller en medlem, Clone metoden, som är avsedd att ge kloningsstöd utöver den som tillhandahålls av Object.MemberwiseClone. Mer information om kloning, djupa eller ytliga kopior och exempel finns i Object.MemberwiseClone metoden.

Anteckningar till implementerare

Gränssnittet ICloneable kräver helt enkelt att implementeringen av Clone() metoden returnerar en kopia av den aktuella objektinstansen. Den anger inte om kloningsåtgärden utför en djup kopia, en ytlig kopia eller något däremellan. Det kräver inte heller att alla egenskapsvärden för den ursprungliga instansen kopieras till den nya instansen. Metoden utför till exempel Clone() en ytlig kopia av alla egenskaper utom IsReadOnly egenskapen. Den anger alltid det här egenskapsvärdet till false i det klonade objektet. Eftersom anropare av inte kan vara beroende av Clone() att metoden utför en förutsägbar kloningsåtgärd rekommenderar vi att ICloneable inte implementeras i offentliga API:er.

Metoder

Name Description
Clone()

Skapar ett nytt objekt som är en kopia av den aktuella instansen.

Gäller för

Se även