/// <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); }
/// <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); }