Пример #1
0
 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);
     }
 }
Пример #2
0
        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(" }");
            }
        }