Json.Net не может сериализовать свойство класса, полученное из словаря

У меня есть класс, который получен из словаря. Также сам класс имеетClientId имущество. Я хочу десериализовать коллекцию этого класса в строку JSON, используяJson.Net Так следовало за документациейВот

public interface IClientSettings: IDictionary<string, string>
{        
    string ClientId { get; set; }        
}

public class ClientSettings : Dictionary<string, string>, IClientSettings
{        
    public string ClientId { get; set; }
}

а затем я десериализовать список в строку

        var list = new List<IClientSettings>();

        var client1 = new ClientSettings();
        client1.ClientId = "Client1";
        client1.Add("key1", "value1");
        client1.Add("key2", "value2");
        client1.Add("key3", "value3");

        var client2 = new ClientSettings();
        client1.ClientId = "Client2";
        client2.Add("key1", "value1");
        client2.Add("key2", "value2");
        client2.Add("key3", "value3");

        list.Add(client1);
        list.Add(client2);

        string json = JsonConvert.SerializeObject(list, Formatting.Indented);
        Console.WriteLine(json);

Однако это не сериализуетсяClientid имущество. Ниже вывод.

[
  {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
  },
  {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
  }
]

Я не уверен, что мне здесь не хватает. Я также нашел предложениеВот которые предлагают сделать пользовательскую сериализацию, это единственный вариант, который у меня есть?

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

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