JsonParameterInfo<T>
namespace System.Text.Json.Serialization.Metadata
{
internal sealed class JsonParameterInfo<T> : JsonParameterInfo
{
public new JsonConverter<T> EffectiveConverter => MatchingProperty.EffectiveConverter;
public new JsonPropertyInfo<T> MatchingProperty { get; }
public new T EffectiveDefaultValue { get; }
public JsonParameterInfo(JsonParameterInfoValues parameterInfoValues, JsonPropertyInfo<T> matchingPropertyInfo)
: base(parameterInfoValues, matchingPropertyInfo)
{
if (parameterInfoValues != null && parameterInfoValues.HasDefaultValue) {
object defaultValue = parameterInfoValues.DefaultValue;
if (defaultValue != null)
EffectiveDefaultValue = (T)defaultValue;
}
MatchingProperty = matchingPropertyInfo;
base.EffectiveDefaultValue = EffectiveDefaultValue;
}
}
}