Попробуйте:
class StringToDictionary : Dictionary<string, StringToDictionary> { }
Тогда вы можете написать:
var stuff = new StringToDictionary
{
{ "Fruit", new StringToDictionary
{
{ "Apple", null },
{ "Banana", null },
{ "Lemon", new StringToDictionary { { "Sharp", null } } }
}
},
};
Общий принцип рекурсии: найдите способ дать имя рекурсивному шаблону, чтобы он мог ссылаться на себя по имени.