37 lines
1.4 KiB
C#
37 lines
1.4 KiB
C#
using System;
|
|
|
|
namespace LC.Newtonsoft.Json
|
|
{
|
|
/// <summary>
|
|
/// Instructs the <see cref="JsonSerializer"/> to deserialize properties with no matching class member into the specified collection
|
|
/// and write values during serialization.
|
|
/// </summary>
|
|
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false)]
|
|
public class JsonExtensionDataAttribute : Attribute
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets a value that indicates whether to write extension data when serializing the object.
|
|
/// </summary>
|
|
/// <value>
|
|
/// <c>true</c> to write extension data when serializing the object; otherwise, <c>false</c>. The default is <c>true</c>.
|
|
/// </value>
|
|
public bool WriteData { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets a value that indicates whether to read extension data when deserializing the object.
|
|
/// </summary>
|
|
/// <value>
|
|
/// <c>true</c> to read extension data when deserializing the object; otherwise, <c>false</c>. The default is <c>true</c>.
|
|
/// </value>
|
|
public bool ReadData { get; set; }
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="JsonExtensionDataAttribute"/> class.
|
|
/// </summary>
|
|
public JsonExtensionDataAttribute()
|
|
{
|
|
WriteData = true;
|
|
ReadData = true;
|
|
}
|
|
}
|
|
} |