protected override void WriteReadBaseClassHandler(ClassBaseObject classBaseObject, ClassBaseObject.SubclassPair subclassPair) { writer.WriteLine($"return {this.MakeReadValueMethod(subclassPair.Subclass.FullName)}(input);"); }
protected override void WriteBaseClassHandler(ClassBaseObject classBaseObject, ClassBaseObject.SubclassPair subclass, string castedName) { var paramName = $"{this.TrimNameSpace(subclass.Subclass.FullName)}.{classBaseObject.TypeDiscriminator.Name}"; WriteFieldType(classBaseObject.TypeDiscriminator.Type, paramName, 0); writer.WriteLine($"Write({castedName}, output);"); }
protected abstract void WriteBaseClassHandler(ClassBaseObject classBaseObject, ClassBaseObject.SubclassPair subclass, string castedName);
// var shortName = CodeGeneratorUtils.GetPrimitiveName(subclassPair.Subclass.FullName); // writer.WriteLine($"return Read{shortName}(input);"); protected abstract void WriteReadBaseClassHandler(ClassBaseObject classBaseObject, ClassBaseObject.SubclassPair subclassPair);
protected override void WriteBaseClassHandler(ClassBaseObject classBaseObject, ClassBaseObject.SubclassPair subclass, string castedName) { var paramName = $"{this.TrimNameSpace(subclass.Subclass.FullName)}.{classBaseObject.TypeDiscriminator.Name}"; writer.WriteLine($"var result = Write({castedName});"); writer.WriteLine($"result[\"{classBaseObject.TypeDiscriminator.CamelCaseName}\"] = {paramName};"); writer.WriteLine("return result;"); }