序列化与反序列化的简便实用封装
       从上一篇文章到现在大概有半个月的时间了,一直没有在博客上发文章了,实在是不应该。这些天我又开始做J2ME的手机游戏开发了,唉,真是无奈,要知道我应聘的职位可是.NET研发工程师呀,成天做一天与职位不相干的事情,感觉自己就像是项全能选手似的,其实到最后什么都不精通,感觉真是悲哀呀!
       算了,总之这不是今天的话,还是来说说今天的话题吧。我上周看到了一篇有关序列化的文章,觉得很不错。其实我自己也有一些有关序列化经验,我这次那出来说说,希望对大家有所帮助,对象是封装好的,有兴趣的朋友就直接拿来用吧!嘻嘻!这个程序是针对.net的,有时间的话我会在做一个java版本的。
       现在我们来看下使用源代码:
       调用代码:
            string ustr = "";
            //填充示例内容
            User u = new User ();
            u.id = 0;
            u.name = "zjy";
            //使用SequenceBoardroom获取xml字符串
            object o = SequenceBoardroom.GetXmlBySerialize(u);
            try
            {
                ustr = (string)o;
            }
            catch
            {
                Exception error = (Exception)o;
            }
            //如果字符串不符合标准的话返回的就是Exception类型,正确的话就返回xml字符串
            //使用SequenceBoardroom获取User对象
            object ob = SequenceBoardroom.GetObjectByXxlString(ustr, new User());
            try
            {
                User ub = (User)ob;
            }
            catch
            {
                Exception error = (Exception)ob;
            }
            //如果字符串不符合标准的话返回的就是Exception类型,正确的话就返回User实例
    User对象代码:
    public class User
    {
        private int _id;
        public int id
        {
            set { _id = value; }
            get { return _id; }
        }
        private string _name;
        public string name
        {
            set { _name = value; }
            get { return _name; }
        }
}
上面的代码十分简单,我想也不用有什么过多的解释,大家只要将ZjyLibrary.dll引入到项目当中去,进行上面相应的一些使用就可以,只要注意,返回值是两种类型,要做好判断工作。当然返回的值更多的价值是显示到日志里去用来寻找测试时的错误。