public ProtoRecurseTest Add() { ProtoRecurseTest result = new ProtoRecurseTest(this, nextPayload++); Children.Add(result); return(result); }
static void PreSerializationHelper(ProtoRecurseTest instance) { instance.Back = null; foreach (var child in instance.Children) { PreSerializationHelper(child); } }
static void PostDeserializationHelper(ProtoRecurseTest instance, ProtoRecurseTest parent) { if (instance.Children == null) { instance.Children = new List <ProtoRecurseTest>(); } instance.Back = parent; foreach (var child in instance.Children) { PostDeserializationHelper(child, instance); } }
private static void ToStringHelper(ProtoRecurseTest proto, StringBuilder sb) { sb.Append(proto.Payload + " -> "); // another little hassle of protobuf due to empty list -> null deserialization if (proto.Children != null) { foreach (var child in proto.Children) { ToStringHelper(child, sb); } } }
private ProtoRecurseTest(ProtoRecurseTest parent, int payload) { Back = parent; this.Payload = payload; nextPayload = payload + 1; }