码迷,mamicode.com
首页 > Web开发 > 详细

BinaryFormaterSerializer类(NetworkComms 2.3.1源码了解和学习)

时间:2015-01-28 21:05:06      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

networkComms.net2.3.1开源版本,基于gpl V3协议。因为不能公开3.x版本的源码,所以基于此版本进行学习。3.X版本进行了诸多改进和Bug修复,使用方法上两者相差不大。
/*请注意使用以下代码,需遵循GplV3协议*/


#if WINDOWS_PHONE
#else

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;

#if ANDROID
using PreserveAttribute = Android.Runtime.PreserveAttribute;
#elif iOS
using PreserveAttribute = MonoTouch.Foundation.PreserveAttribute;
#endif

namespace DPSBase
{
     
    /// .net自带的序列化器
    /// </summary>
    [DataSerializerProcessor(2)]
    public class BinaryFormaterSerializer : DataSerializer
    {
        static DataSerializer instance;

     
        [Obsolete("Instance access via class obsolete, use DPSManager.GetSerializer<T>")]
        public static DataSerializer Instance
        {
            get
            {
                if (instance == null)
                    instance = GetInstance<BinaryFormaterSerializer>();

                return instance;
            }
        }

#if ANDROID || iOS
        [Preserve]
#endif
        private BinaryFormaterSerializer() { }

        #region ISerialize Members
        
        /// <inheritdoc />
        /// 把对象序列化为二进制数据
        protected override void SerialiseDataObjectInt(Stream ouputStream, object objectToSerialise, Dictionary<string, string> options)
        {            
            BinaryFormatter formatter = new BinaryFormatter();
            formatter.Serialize(ouputStream, objectToSerialise);
            ouputStream.Seek(0, 0);
        }

        /// <inheritdoc />
        /// 把二进制数据序列化为对象
        protected override object DeserialiseDataObjectInt(Stream inputStream, Type resultType, Dictionary<string, string> options)
        {
            BinaryFormatter formatter = new BinaryFormatter();
            return formatter.Deserialize(inputStream);
        }

        #endregion
    }
}

#endif
 http://www.cnblogs.com/networkcomms
http://www.networkcoms.cn 编辑

 

BinaryFormaterSerializer类(NetworkComms 2.3.1源码了解和学习)

标签:

原文地址:http://www.cnblogs.com/networkcomms/p/4256847.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!