Люди уже задавали этот вопрос о том, как сериализовать / десериализовать словарь с помощью пользовательского ключа с помощью Newtonsoft. Документация гласит:
При сериализации словаря ключи словаря преобразуются в строки и используются в качестве имен свойств объекта JSON. Строка, написанная для ключа, может быть настроена путем переопределения ToString () для типа ключа или реализации TypeConverter. TypeConverter также будет поддерживать преобразование пользовательской строки обратно при десериализации словаря.
Все опубликовали ответы на TypeConverter, но я не вижу примера переопределения ToString для моего пользовательского типа.
Кто-нибудь успешно это сделал?
public class MyType
{
public string Name {get;set;}
public string ID {get;set;}
public string Location {get;set}
public override ToString()
{
// what to do here??
}
}
public class MyClass
{
public Dictionary<MyType, string> CustomKeyDictionary {get;set;}
}