次のCity
クラスがあります。各都市オブジェクトには、キーが言語タグ(たとえば、「EN」、「DE」、「FR」など)であり、値が対応する言語(例:ローマ/ローマなど)の都市名である辞書が含まれています。 。
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" } } };
これが可能かどうか誰かが知っていますか?