Beispiel #1
0
 public void ProcessSerializers(CecilSerializerContext context)
 {
     foreach (var type in context.Assembly.EnumerateTypes())
     {
         // Force generation of serializers (complex types, etc...)
         // Check complex type definitions
         CecilSerializerContext.SerializableTypeInfo serializableTypeInfo;
         if (!context.SerializableTypes.TryGetSerializableTypeInfo(type, false, out serializableTypeInfo) &&
             !context.SerializableTypes.TryGetSerializableTypeInfo(type, true, out serializableTypeInfo))
         {
             context.FindSerializerInfo(type, false);
         }
     }
 }
Beispiel #2
0
        private static void ProcessType(CecilSerializerContext context, TypeDefinition type)
        {
            CecilSerializerContext.SerializableTypeInfo serializableTypeInfo;
            if (!context.SerializableTypes.TryGetSerializableTypeInfo(type, false, out serializableTypeInfo) &&
                !context.SerializableTypes.TryGetSerializableTypeInfo(type, true, out serializableTypeInfo))
            {
                context.FindSerializerInfo(type, false);
            }

            if (type.HasNestedTypes)
            {
                foreach (var nestedType in type.NestedTypes)
                {
                    ProcessType(context, nestedType);
                }
            }
        }
        private static void ProcessType(CecilSerializerContext context, TypeDefinition type)
        {
            CecilSerializerContext.SerializableTypeInfo serializableTypeInfo;
            if (!context.SerializableTypes.TryGetSerializableTypeInfo(type, false, out serializableTypeInfo)
                && !context.SerializableTypes.TryGetSerializableTypeInfo(type, true, out serializableTypeInfo))
            {
                context.FindSerializerInfo(type, false);
            }

            if (type.HasNestedTypes)
            {
                foreach (var nestedType in type.NestedTypes)
                {
                    ProcessType(context, nestedType);
                }
            }
        }