欢迎来到天天文库
浏览记录
ID:19681413
大小:85.00 KB
页数:11页
时间:2018-10-05
《c#中对象创建的方式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C#中对象创建的方式·使用new创建·使用对象的MemberwiseCloneMemberwiseClone方法创建一个浅表副本,方法是创建一个新对象,然后将当前对象的非静态字段复制到该新对象。如果字段是值类型的,则对该字段执行逐位复制。如果字段是引用类型,则复制引用但不复制引用的对象;因此,原始对象及其复本引用同一对象。usingSystem;usingSystem.IO;usingSystem.Runtime.Serialization.Formatters.Binary;namespaceClone
2、Demo{[Serializable]classDemoClass{publicinti=0;publicint[]iArr={1,2,3};publicDemoClassClone1(){returnthis.MemberwiseClone()asDemoClass;}publicDemoClassClone2(){MemoryStreamstream=newMemoryStream();BinaryFormatterformatter=newBinaryFormatter();formatter.Se
3、rialize(stream,this);stream.Position=0;returnformatter.Deserialize(stream)asDemoClass;}}classProgramconstructionqualityacceptanceandassessmentRegulation(ProfessionalEdition)(DL/T5210.2-2009~DL/T5210.8-2009);1.9thequalitycheckoutandevaluationofelectricequi
4、pmentinstallationengineeringcode(DL/T5161.1-2002~5161.17-2002);1.10thenormsofconstructionsupervision,theelectricpowerconstructionsupervisionregulations{staticvoidMain(string[]args){DemoClassa=newDemoClass();a.i=10;a.iArr=newint[]{8,9,10};DemoClassb=a.Clon
5、e1();DemoClassc=a.Clone2();//更改a对象的iArr[0],导致b对象的iArr[0]也发生了变化a.iArr[0]=88;Console.WriteLine("MemberwiseClone");Console.WriteLine(b.i);foreach(variteminb.iArr){Console.WriteLine(item);}Console.WriteLine("Clone2");Console.WriteLine(c.i);foreach(variteminc.
6、iArr){Console.WriteLine(item);}Console.ReadLine();}}}·使用工厂方法创建 定义创建对象的接口,并由派生类决定那一个类来创建实例。即工厂方法将创建对象的责任委托(延迟)到了派生类创建。constructionqualityacceptanceandassessmentRegulation(ProfessionalEdition)(DL/T5210.2-2009~DL/T5210.8-2009);1.9thequalitycheckoutandevalu
7、ationofelectricequipmentinstallationengineeringcode(DL/T5161.1-2002~5161.17-2002);1.10thenormsofconstructionsupervision,theelectricpowerconstructionsupervisionregulations适用情况:1.当一个类无法事先知道她所必须创建的对象的类的时候。2.当一个类要让其派生类决定构建对象时。3.当类将创建对象的职责委托给多个协助他的派生类之一,同时你希望通
8、过所委托的派生类来集中管理对象创建逻辑时。 ·使用序列化和反序列化创建 一、概述 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 二、对象的序列化主要有两种用途
此文档下载收益归作者所有