usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Runtime.Serialization.Formatters;
usingSystem.Text;
usingNewtonsoft.Json.Serialization;
usingNewtonsoft.Json.Utilities;
usingSystem.Runtime.Serialization;
namespace Newtonsoft.Json{
/// <summary>
/// Specifies the settings on a <see cref="JsonSerializer"/> object.
/// </summary>
publicclassJsonSerializerSettings
{
internalconstReferenceLoopHandling DefaultReferenceLoopHandling = ReferenceLoopHandling.Error;
internalconstMissingMemberHandling DefaultMissingMemberHandling = MissingMemberHandling.Ignore;
internalconstNullValueHandling DefaultNullValueHandling = NullValueHandling.Include;
internalconstDefaultValueHandling DefaultDefaultValueHandling = DefaultValueHandling.Include;
internalconstObjectCreationHandling DefaultObjectCreationHandling = ObjectCreationHandling.Auto;
internalconstPreserveReferencesHandling DefaultPreserveReferencesHandling = PreserveReferencesHandling.None;
internalconstConstructorHandling DefaultConstructorHandling = ConstructorHandling.Default;
internalconstTypeNameHandling DefaultTypeNameHandling = TypeNameHandling.None;
internalconst FormatterAssemblyStyle DefaultTypeNameAssemblyFormat = FormatterAssemblyStyle.Simple;
internalstaticreadonlyStreamingContext DefaultContext = newStreamingContext();
/// <summary>
/// Gets or sets how reference loops (e.g. a class referencing itself) is handled.
/// </summary>
/// <value>Reference loop handling.</value>
publicReferenceLoopHandlingReferenceLoopHandling { get; set; }
/// <summary>
/// Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization.
/// </summary>
/// <value>Missing member handling.</value>
publicMissingMemberHandlingMissingMemberHandling { get; set; }
/// <summary>
/// Gets or sets how objects are created during deserialization.
/// </summary>
/// <value>The object creation handling.</value>
publicObjectCreationHandlingObjectCreationHandling { get; set; }
/// <summary>
/// Gets or sets how null values are handled during serialization and deserialization.
/// </summary>
/// <value>Null value handling.</value>
publicNullValueHandlingNullValueHandling { get; set; }
/// <summary>
/// Gets or sets how null default are handled during serialization and deserialization.
/// </summary>
/// <value>The default value handling.</value>
publicDefaultValueHandlingDefaultValueHandling { get; set; }
/// <summary>
/// Gets or sets a collection <see cref="JsonConverter"/> that will be used during serialization.
/// </summary>
/// <value>The converters.</value>
publicIList<JsonConverter> Converters { get; set; }
/// <summary>
/// Gets or sets how object references are preserved by the serializer.
/// </summary>
/// <value>The preserve references handling.</value>
publicPreserveReferencesHandlingPreserveReferencesHandling { get; set; }
/// <summary>
/// Gets or sets how type name writing and reading is handled by the serializer.
/// </summary>
/// <value>The type name handling.</value>
publicTypeNameHandlingTypeNameHandling { get; set; }
/// <summary>
/// Gets or sets how a type name assembly is written and resolved by the serializer.
/// </summary>
/// <value>The type name assembly format.</value>
public FormatterAssemblyStyle TypeNameAssemblyFormat { get; set; }
/// <summary>
/// Gets or sets how constructors are used during deserialization.
/// </summary>
/// <value>The constructor handling.</value>
publicConstructorHandlingConstructorHandling { get; set; }
/// <summary>
/// Gets or sets the contract resolver used by the serializer when
/// serializing .NET objects to JSON and vice versa.
/// </summary>
/// <value>The contract resolver.</value>
publicIContractResolver ContractResolver { get; set; }
/// <summary>
/// Gets or sets the <see cref="IReferenceResolver"/> used by the serializer when resolving references.
/// </summary>
/// <value>The reference resolver.</value>
publicIReferenceResolver ReferenceResolver { get; set; }
/// <summary>
/// Gets or sets the <see cref="SerializationBinder"/> used by the serializer when resolving type names.
/// </summary>
/// <value>The binder.</value>
publicSerializationBinder Binder { get; set; }
/// <summary>
/// Gets or sets the error handler called during serialization and deserialization.
/// </summary>
/// <value>The error handler called during serialization and deserialization.</value>
publicEventHandler<ErrorEventArgs> Error { get; set; }
/// <summary>
/// Gets or sets the <see cref="StreamingContext"/> used by the serializer when invoking serialization callback methods.
/// </summary>
/// <value>The context.</value>
publicStreamingContext Context { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="JsonSerializerSettings"/> class.
/// </summary>
publicJsonSerializerSettings()
{
ReferenceLoopHandling = DefaultReferenceLoopHandling;
MissingMemberHandling = DefaultMissingMemberHandling;
ObjectCreationHandling = DefaultObjectCreationHandling;
NullValueHandling = DefaultNullValueHandling;
DefaultValueHandling = DefaultDefaultValueHandling;
PreserveReferencesHandling = DefaultPreserveReferencesHandling;
TypeNameHandling = DefaultTypeNameHandling;
TypeNameAssemblyFormat = DefaultTypeNameAssemblyFormat;
Context = DefaultContext;
Converters = newList<JsonConverter>();
}
}
}