我有以下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" } } };
有人知道這是可能的嗎?
注:*構造函數初始化*是不是合適的術語。認爲**對象**和**集合**初始化,這兩者都不是通過構造函數完成的。 –
你是對的,我編輯了標題,謝謝 –