ICloneable接口

来源:互联网 发布:王学圻 范冰冰 知乎 编辑:程序博客网 时间:2024/05/15 17:29

1.ICloneable接口定义

public interface ICloneable
    {
        object Clone();
    }

2.示例

public class MyClass5:ICloneable
    {
        public int X { get; set;}
        public int Y { get; set; }
        public MyClass5(int x, int y)
        {
            X = x;
            Y = y;
        }


        public object Clone()
        {
            return new MyClass5(this.X, this.Y);
            //
            //return this.MemberwiseClone();  //由于该类并不包含内部引用类型变量,可使用该方法拷贝(浅复制)。
        }
    }

这里如果一个仅包含值类型的类或结构,使用MemberwiseClone()方法实现Clone方法。如果有一个保存其他引用类型的自定义类型,需要建立一个考虑每一个引用类型成员变量的新对象。


0 0
原创粉丝点击