protected void serializeParent(AutoCSer.Json.Serializer serializer, ServerNodeIdChecker checker) { if (Parent != null) { serializer.CharStream.Write(','); Parent.Serialize(serializer, checker); } serializer.CharStream.Write(']'); }
protected void serializeParent(AutoCSer.BinarySerializer serializer, ServerNodeIdChecker checker) { if (Parent == null) { serializer.Stream.Write(AutoCSer.BinarySerializer.NullValue); } else { Parent.Serialize(serializer, checker); } }
/// <summary> /// 服务端映射标识检测 /// </summary> /// <param name="checker"></param> /// <param name="checkTypes"></param> internal void CheckServerNodeId(ServerNodeIdChecker checker, ref LeftArray <Type> checkTypes) { Type nodeType = GetType(); if (!checker.ServerNodeIds.ContainsKey(nodeType)) { checkTypes.Add(nodeType); } if (Parent != null) { Parent.CheckServerNodeId(checker, ref checkTypes); } checkParameterServerNodeId(checker, ref checkTypes); }
internal void SetNull() { Node = null; Checker = null; }
internal void Serialize(AutoCSer.BinarySerialize.Serializer serializer, ServerNodeIdChecker checker) { serializer.Stream.Write(checker.ServerNodeIds[GetType()]); serializeParameter(serializer); serializeParent(serializer, checker); }
/// <summary> /// 用于代码生成 /// </summary> /// <typeparam name="valueType"></typeparam> /// <param name="checker"></param> /// <param name="checkTypes"></param> /// <param name="clientNode"></param> internal void checkServerNodeId <valueType>(ServerNodeIdChecker checker, ref LeftArray <Type> checkTypes, ref valueType clientNode) { }
protected void checkServerNodeId <returnType>(ServerNodeIdChecker checker, ref LeftArray <Type> checkTypes, ref ClientNode <returnType> clientNode) { clientNode.Node.CheckServerNodeId(clientNode.Checker = checker, ref checkTypes); }
/// <summary> /// 参数服务端映射标识检测 /// </summary> /// <param name="checker"></param> /// <param name="checkTypes"></param> protected virtual void checkParameterServerNodeId(ServerNodeIdChecker checker, ref LeftArray <Type> checkTypes) { }
protected void serializeStart(AutoCSer.Json.Serializer serializer, ServerNodeIdChecker checker) { serializer.CharStream.Write('['); serializer.CallSerialize(checker.ServerNodeIds[GetType()]); }
internal void Serialize(AutoCSer.Json.Serializer serializer, ServerNodeIdChecker checker) { serializeStart(serializer, checker); serializeParameter(serializer); serializeParent(serializer, checker); }