C#中控件的tag属性存储的是类的实例,怎么深复制

C#中控件的tag属性存储的是类的实例,怎么深复制tag存储的实例,是深复制。... C#中控件的tag属性存储的是类的实例,怎么深复制tag存储的实例,是深复制。 展开
 我来答
wdghy123
2015-07-08 · TA获得超过1583个赞
知道大有可为答主
回答量:1514
采纳率:95%
帮助的人:736万
展开全部
如果类不复杂的话重写clone,在clone中new一个实例,并把需要拷贝的内容逐一复制。
如果复杂的话可以考虑用序列化和反序列化来实现
追问
能大概给个例子吗
追答
class A
    {
        public int a;
        public double b;
        public string c;

        public A Clone()
        {
            A newobj = new A();
            newobj.a = this.a;
            newobj.b = this.b;
            newobj.c = this.c;

            return newobj;
        }

        public A CloneBySerialize()
        {
            BinaryFormatter formater = new BinaryFormatter();
            using (Stream srcStream = new MemoryStream())
            {
                formater.Serialize(srcStream, this);
                srcStream.Seek(0, SeekOrigin.Begin);
                return formater.Deserialize(srcStream) as A;
            }
        }
    }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式