示例#1
0
        /// <summary>
        /// 序列化后触发
        /// </summary>
        /// <param name="context"></param>
        protected virtual void OnSerialized(WriteContext context)
        {
            // 事件由外部动态指定,拥有优先处理权
            if (Serialized != null) Serialized(this, new ProtocolSerializedEventArgs(context));

            IProtocolSerializable custom = context.GetCustomInterface();
            if (custom != null) custom.OnSerialized(context);
        }
示例#2
0
        /// <summary>
        /// 序列化前触发
        /// </summary>
        /// <param name="context"></param>
        /// <returns>是否允许序列化当前字段或属性</returns>
        protected virtual Boolean OnSerializing(WriteContext context)
        {
            Boolean b = true;

            // 事件由外部动态指定,拥有优先处理权
            if (Serializing != null)
            {
                ProtocolSerializingEventArgs e = new ProtocolSerializingEventArgs(context);
                e.Cancel = false;
                Serializing(this, e);
                b = !e.Cancel;
            }

            IProtocolSerializable custom = context.GetCustomInterface();
            if (custom != null) b = custom.OnSerializing(context);

            return b;
        }