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); } } }
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); } } }