У меня есть после класса City
. Каждый объект города содержит словарь, ключи которого являются языковыми тегами (скажем: «EN», «DE», «FR»...), а значения — названиями городов на соответствующих языках (например: Rome / Rom и т. д.). .
public class City:
{
private IDictionary<string, string> localizedNames = new Dictionary<string, string>(0);
public virtual IDictionary<string, string> Names
{
get { return localizedNames ; }
set { localizedNames = value; }
}
}
Большинство городов имеют одинаковые названия независимо от языка, поэтому конструктор City
фактически создает английское отображение:
public City(string cityName)
{
this.LocalizedNames.Add("EN", cityName);
}
Возникает вопрос: есть ли способ добавить другое значения через встроенную инициализацию?
Я пробовал различные варианты следующего без семантического успеха (не компилируется):
AllCities.Add(new City("Rome") { Names["DE"] = "Rom" };
Я также пытался создать новый словарь, но это явно перезаписывает параметр "EN":
AllCities.Add(new City("Rome") { Names = new Dictionary<string, string>() { { "DE", "Rom" } } };
Кто-нибудь знает, возможно ли это?