我正在寫一個小代碼,以便更加了解property
和static property
。像這些:c#中的靜態屬性6
class UserIdentity
{
public static IDictionary<string, DateTime> OnlineUsers { get; set; }
public UserIdentity()
{
OnlineUsers = new Dictionary<string, DateTime>();
}
}
或
class UserIdentity
{
public IDictionary<string, DateTime> OnlineUsers { get; }
public UserIdentity()
{
OnlineUsers = new Dictionary<string, DateTime>();
}
}
因爲我把它改爲:
class UserIdentity
{
public static IDictionary<string, DateTime> OnlineUsers { get; }
public UserIdentity()
{
OnlineUsers = new Dictionary<string, DateTime>();
}
}
它給了我錯誤消息:
屬性或索引「UserIdentity.OnlineUsers '不能分配給 - 它只能讀取
我知道財產OnlineUsers
是read only
,但在C#6中,我可以通過構造函數分配它。那麼,我錯過了什麼?
的問題也發生在C#1.0起(仿製藥除外),只是用不同的語法聲明OnlineUsers –
@ MartinCapodici:然後,它必須是一個字段,而不是一個屬性,因爲你不能擁有一個「只讀屬性,你也可以分配給」,這是在C#6中添加的。 –
馬蒂,那是真的我是想着用財產包裝的領域達到相同的效果。 –