Acceda a los atributos personalizados de la clase .NET dentro del convertidor json personalizado

En mi proyecto, he escrito un convertidor json personalizado para recortar los espacios en blanco presentes en la propiedad de cadena.

Aquí hay un ejemplo de la clase típica que usaremos,

public class Candidate
{
    public string CandidateName { get; set; }
}

Aquí está mi convertidor json personalizado

public class StringSanitizingConverter : JsonConverter
{       
    public override bool CanConvert(Type objectType)
    {
        return objectType == typeof(string);
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue , JsonSerializer serializer)
    {
        if (reader.TokenType == JsonToken.String)
            if (reader.Value != null)
            {
                string sanitizedString = (reader.Value as string).Trim();

                if (StringSanitizeOptions.HasFlag(StringSanitizeOptions.ToLowerCase))
                    sanitizedString = sanitizedString.ToLowerInvariant();

                return sanitizedString;
            }

        return reader.Value;
    }

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        var text = (string)value;
        if (text == null)
            writer.WriteNull();
        else
            writer.WriteValue(text.Trim());
    }
}

Con mi convertidor personalizado ahora puedo formatear la cadena recortando cualquier espacio en blanco presente enviado a los métodos de acción utilizando mi 'Candidato' como uno de sus parámetros.

public void Post(ComplexType complexTypeParameter){
}

Todo funcionó bien hasta ahora. Más tarde quise mejorar este convertidor json para formatear las propiedades de la cadena en función de los atributos establecidos en la propiedad de cadena en la clase Candidate. por ejemplo, supongamos que he escrito mi clase de candidato así,

 public class Candidate
 {
     [StringSanitizingOptions(Option.ToLowerCase)]
     public string CandidateName { get; set; }
 }

Y si quisiera formatear las propiedades de cadena de una clase basada en la configuración de atributo personalizado dentro del convertidor json, no puedo acceder a este atributo personalizado y su configuración dentro del método ReadJson del convertidor personalizado.

Esto es lo que he intentado hasta ahora pero sin suerte,

No presente en elCustomAttributes propiedad de laobjectType
parámetro enviado a laReadJson() método.

Estaba tratando de ver si podía extraer la clase padre de la propiedad dentro deReadJson(), para poder aplicar la reflexión sobre la clase para extraer los atributos personalizados que se otorgan a cualquiera de sus propiedades, pero no pude extraer eso también.