Json.Net kann die Eigenschaft einer von dictionary @ abgeleiteten Klasse nicht serialisiere

Ich habe eine Klasse, die vom Dictionary abgeleitet ist. Auch die Klasse selbst hat einClientId Eigentum. Ich möchte die Auflistung dieser Klasse mit @ in eine JSON-Zeichenfolge de-serialisiereJson.Net So folgte die DokumentationHie

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

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

und dann entserialisiere ich Liste in Zeichenfolge

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

Dieser serialisiert jedoch nichtClientid Eigentum. Unten ist die Ausgabe.

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

Ich bin nicht sicher, was ich hier vermisse. Ich habe auch vorschlag gefundenHie das vorschlagen, benutzerdefinierte Serialisierung zu tun, ist das die einzige Option, die ich habe?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage