private string GenArrayWriteCode(Type valueType, BaseGenerator gen) { return(string.Format( " int size = d.Length;\n"+ " o.Write(size);\n"+ " for(int i = 0; i < size; ++i)\n"+ " {{\n"+ " {0};\n"+ " }}\n"+ "", gen.WriteExpression(valueType, "d[i]") )); }
protected virtual string GenListWriteCode(Type type, Type keyType, Type valueType, BaseGenerator keyGen, BaseGenerator valueGen) { return(string.Format( " int size = d.Count;\n"+ " o.Write(size);\n"+ " foreach(var elem in d)\n"+ " {{\n"+ " {0};\n"+ " {1};\n"+ " }}\n"+ "", keyGen.WriteExpression(keyType, "elem.Key"), valueGen.WriteExpression(valueType, "elem.Value") )); }