예제 #1
0
            /// <summary>
            /// 可空类型
            /// </summary>
            /// <typeparam name="valueType">数据类型</typeparam>
            /// <param name="serializer">反序列化器</param>
            /// <returns>可空类型数据</returns>
            private static deSerialize <Nullable <valueType> > .serializeOutput getNullType <valueType>(serializeInput input) where valueType : struct
            {
                deSerialize <Nullable <valueType> > .serializeOutput output = new deSerialize <Nullable <valueType> > .serializeOutput {
                };
                valueType             value = default(valueType);
                memberMap <valueType> memberMap;

                if (Get <valueType>(ref value, input.Data, out output.EndIndex, out memberMap, input.MemberIndexs))
                {
                    output.Value     = value;
                    output.MemberMap = memberMap;
                }
                return(output);
            }
예제 #2
0
 /// <summary>
 /// 序列化接口
 /// </summary>
 /// <typeparam name="valueType">数据类型</typeparam>
 /// <param name="input">输入数据</param>
 /// <returns>输入数据</returns>
 private static deSerialize <valueType> .serializeOutput getISerializeType <valueType>(serializeInput input) where valueType : ISerialize
 {
     deSerialize <valueType> .serializeOutput output = new deSerialize <valueType> .serializeOutput {
         Value = fastCSharp.emit.constructor <valueType> .New()
     };
     output.Value.DeIndexSerialize(input.Data, out output.EndIndex, out output.MemberMap, input.MemberIndexs);
     return(output);
 }