public ContractTypeSerializer(SerializationTypeRegistry typeRegistry, ContractTypeSerializerOptions options) { Check.NotNull(typeRegistry, nameof(typeRegistry)); Check.NotNull(options, nameof(options)); JsonSerializerSettings s = options.CloneJsonSettings(); s.TypeNameHandling = TypeNameHandling.None; s.ReferenceLoopHandling = ReferenceLoopHandling.Serialize; s.ContractResolver = new ContractTypeContractResolver(typeRegistry); options.Serializers.ConfigureJsonSettings(s); _serializer = JsonSerializer.Create(s); }
public SerializerManager(IEnumerable <IConfigureSerializers> setups, SerializationTypeRegistry types) { Check.NotNull(setups, nameof(setups)); Check.NotNull(types, nameof(types)); _setups = setups.ToList(); ContractTypeSerializerOptions contractOptions = new ContractTypeSerializerOptions( Serializers, new JsonSerializerSettings()); foreach (IConfigureSerializers setup in setups) { setup.ConfigureSerializers(Serializers); setup.ConfigureContractTypeSerializer(contractOptions.JsonSettings); } ContractTypeSerializer = new ContractTypeSerializer(types, contractOptions); }