JsonParameterInfo
namespace System.Text.Json.Serialization.Metadata
{
internal abstract class JsonParameterInfo
{
public JsonConverter EffectiveConverter => MatchingProperty.EffectiveConverter;
public object DefaultValue { get; set; }
public bool IgnoreNullTokensOnRead { get; }
public JsonSerializerOptions Options { get; }
public byte[] NameAsUtf8Bytes { get; }
public JsonNumberHandling? NumberHandling { get; }
public int Position { get; }
public JsonTypeInfo JsonTypeInfo => MatchingProperty.JsonTypeInfo;
public Type ParameterType { get; }
public bool ShouldDeserialize { get; }
public JsonPropertyInfo MatchingProperty { get; }
public JsonParameterInfo(JsonParameterInfoValues parameterInfoValues, JsonPropertyInfo matchingProperty)
{
MatchingProperty = matchingProperty;
ShouldDeserialize = !matchingProperty.IsIgnored;
Options = matchingProperty.Options;
Position = parameterInfoValues.Position;
ParameterType = matchingProperty.PropertyType;
NameAsUtf8Bytes = matchingProperty.NameAsUtf8Bytes;
IgnoreNullTokensOnRead = matchingProperty.IgnoreNullTokensOnRead;
NumberHandling = matchingProperty.EffectiveNumberHandling;
}
}
}