c# 中的serializableAttribute

using UnityEngine;
using System.Collections;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

// A test object that needs to be serialized.
[System.Serializable]
public class TestSimpleObject  {

    public int member1;
    public string member2;
    public string member3;
    public double member4;

    // A field that is not serialized.
    [System.NonSerialized] public string member5; 

    public TestSimpleObject() {

        member1 = 11;
        member2 = "hello";
        member3 = "hello";
        member4 = 3.14159265;
        member5 = "hello world!";
    }

    public void Print() {

        Debug.Log("member1 = " + member1);
        Debug.Log("member2 = " + member2);
        Debug.Log("member3 = " + member3);
        Debug.Log("member4 = " + member4);
        Debug.Log("member5 = " + member5);
    }
}

[ExecuteInEditMode]
public class TestSerializerable : MonoBehaviour
{

    // Use this for initialization
    void Start ()
    {
        TestSerializerable.Main();
    }

    public static void Main()
    {

            //Creates a new TestSimpleObject object.
            TestSimpleObject obj = new TestSimpleObject();

            Debug.Log("Before serialization the object contains: ");
            obj.Print();

            //Opens a file and serializes the object into it in binary format.
            Stream stream = File.Open("data.xml", FileMode.Create);
            //SoapFormatter formatter = new SoapFormatter();

            BinaryFormatter formatter = new BinaryFormatter();

            formatter.Serialize(stream, obj);
            stream.Close();

            //Empties obj.
            obj = null;

            //Opens file "data.xml" and deserializes the object from it.
            stream = File.Open("data.xml", FileMode.Open);
            //formatter = new SoapFormatter();

            formatter = new BinaryFormatter();

            obj = (TestSimpleObject)formatter.Deserialize(stream);
            stream.Close();

            Debug.Log("After deserialization the object contains: ");
            obj.Print();
    }
}

以上代码 在unity环境下运行

时间: 2024-07-31 19:05:14

c# 中的serializableAttribute的相关文章

C# Socket 编程

EndPoint 类 标识网络地址.这是一个 abstract 类. 命名空间:  System.Net程序集:  System(在 System.dll 中) [SerializableAttribute]public abstract class EndPoint 备注 EndPoint 类提供了一个表示网络资源或服务的 abstract 基类.子类组合网络连接信息以构成服务的连接点. 继承层次结构 System.ObjectSystem.Net.EndPointSystem.Net.IPE

C# xml数组的序列和反序列化

先来看xml <?xml version="1.0"?> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Person> <Name>小莫</Name> <Age>20</Age> <Books

《WCF技术剖析》博文系列汇总[持续更新中]

http://www.cnblogs.com/artech/archive/2009/11/21/1607686.html 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖析(卷1)>写作期间,对WCF又有了新的感悟,为此以书名开始本人的第三个WCF系列.本系列的目的在于对<WCF技术剖析>的补充,会对书中的一些内容进行展开讲述,同时会囊括很多由于篇幅的原因忍痛割弃的内容. [第1篇] 通过一个ASP

Asp.net中动态控制RDLC报表 自定义RDLC

转载自: http://dlwang2002.cnblogs.com/archive/2006/05/27/410499.html 在asp.net程序中,可以选择使用水晶报表,功能确实强大.但是web版的水晶报表好像存在版权的问题.如果所作报表不是复杂的一塌糊涂的话,可以使用微软自带的Rdlc报表.已经有老兄做出了不少诠释:http://www.cnblogs.com/waxdoll/更多资料可以在这里找到:http://www.gotreportviewer.com/Rdlc优点:1:Rdl

[NHibernate]Nhibernate如何映射sqlserver中image字段

概述 有这样一个需求需要管理企业内网的信息,包括图标和链接.考虑到图标也不是很大所以就将图片直接保存在数据库中了. 但是用到Nhibernate,如何映射呢? Table 5.5. Large Object Mapping Types NHibernate Type .NET Type Database Type Remarks StringClob System.String DbType.String type="StringClob" must be specified. Ent

关于Emit中动态类型TypeBuilder创建类标记的一点思考

  利用TypeBuilder是可以动态创建一个类型,现在有个需求,动态生成一个dll,创建类型EmployeeEx,需要继承原dll里面的Employee类,并包含Employee类上的所有类标记.   网上有很多例子, //创建TypeBuilder. TypeBuilder myTypeBuilder = myModBuilder.DefineType(typeName, TypeAttributes.Public); myTypeBuilder.SetParent(type);   大概

在WCF中使用Flag Enumerations

请看MSDN示例: [DataContract][Flags]public enum CarFeatures{    None = 0,    [EnumMember]    AirConditioner = 1,    [EnumMember]    AutomaticTransmission = 2,    [EnumMember]    PowerDoors = 4,    AlloyWheels = 8,    DeluxePackage = AirConditioner | Autom

近期开发中遇到的问题总结

最近准备把后台管理系统重新设计开发下,使用了bootstrap,在网上找了个漂亮的后台模板:sb2-admin,在使用中遇到了不少问题,总结下,以免以后忘记. 1.EF5利用NuGet升级到EF6后,一些Attribute冲突[未解决]:       我原先的数据驱动使用的是Fluent Nhibernate +Nhibernate+MSSQL2005,本来想玩玩EF的,而且现在新创建的MVC项目模板中,都会自带EF.因为EF5不支持项目模板生成Code First,所以升级到了EF6,设置到升

win10周年版eNSP中启动AR提示错误代码40问题

win 10操作系统中安装eNSP 1.2.00.380,一直运行正常,但在2016年11月升级win 周年版之后,启动AR时启动失败,提示错误代码40. 卸载eNSP及VirtualBox之后重装问题依旧.按照论坛和网上各种说法更新virtualbox修改虚拟网卡设置,或者重新注册都无法解决,最终多方查找终于找到解决方案. 环境:win10 周年版,eNSP 1.2.00.380,VirtualBox 4.2.8 eNSP注册后virtualbox管理器中会出现AR_Base,WLAN_AC_