private void ES_PolimorphicSerialization(SerializedTypeDesc item) { foreach (var fieldName in item.DerivedTypes.Keys) { DerivedTypesDesc derivedTypesDesc = item.DerivedTypes[fieldName]; ES_FieldPolimorphicSerialization(fieldName, derivedTypesDesc); ES_FieldPolimorphicDeserialization(fieldName, derivedTypesDesc); } }
private void ES_PolimorphicTypeEnumerations(SerializedTypeDesc item) { foreach (var fieldName in item.DerivedTypes.Keys) { NewLine(); DerivedTypesDesc derivedTypesDesc = item.DerivedTypes[fieldName]; WriteLine("// Possible derived types to store on field " + fieldName + " - base type is " + derivedTypesDesc.BaseType.FullName); Write("public enum " + fieldName + "_SerializedTypeId { TypeIs_" + derivedTypesDesc.BaseType.SafeFullName); SerializedTypeDesc[] derivedTypes = derivedTypesDesc.DerivedTypes; foreach (var derType in derivedTypes) { Write(", TypeIs_" + derType.SafeFullName); } WriteLine(" }"); } }