Доступ к пользовательским атрибутам класса .NET внутри пользовательского конвертера json

В моем проекте я написал собственный конвертер json для обрезки пробелов, присутствующих в свойстве string.

Вот пример типичного класса, который мы будем использовать,

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

Вот мой пользовательский конвертер json

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());
    }
}

С моим пользовательским конвертером я теперь могу отформатировать строку, обрезав все имеющиеся пробелы, отправленные в методы действия, используя мой «Кандидат» в качестве одного из его параметров.

public void Post(ComplexType complexTypeParameter){
}

До сих пор все работало хорошо. Позже я захотел усовершенствовать этот json-конвертер для форматирования строковых свойств на основе атрибутов, установленных для свойства string в классе Candidate. например, предположим, что я написал свой кандидатский класс, как это,

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

И если я захочу отформатировать строковые свойства класса на основе конфигурации настраиваемого атрибута внутри преобразователя json, я не смогу получить доступ к этому настраиваемому атрибуту и его конфигурации внутри метода ReadJson настраиваемого преобразователя.

Вот что я уже пробовал, но безуспешно,

Нет вCustomAttributes свойствоobjectType
параметр отправлен наReadJson() метод.

Пытался выяснить, могу ли я извлечь родительский класс свойства внутриReadJson() метод, чтобы я мог применить отражение к классу, чтобы извлечь пользовательские атрибуты, заданные для любого его свойства, но я не мог извлечь это тоже.

Ответы на вопрос(1)

Ваш ответ на вопрос