Ich schreibe einen kleinen Code zu mehr über property
und static property
zu verstehen. Wie diese:statische Eigenschaft in C# 6
class UserIdentity
{
public static IDictionary<string, DateTime> OnlineUsers { get; set; }
public UserIdentity()
{
OnlineUsers = new Dictionary<string, DateTime>();
}
}
oder
class UserIdentity
{
public IDictionary<string, DateTime> OnlineUsers { get; }
public UserIdentity()
{
OnlineUsers = new Dictionary<string, DateTime>();
}
}
Da habe ich es zu:
class UserIdentity
{
public static IDictionary<string, DateTime> OnlineUsers { get; }
public UserIdentity()
{
OnlineUsers = new Dictionary<string, DateTime>();
}
}
es gab mir Fehlermeldung:
oder der Indexer ‚UserIdentity.OnlineUsers 'kann nicht zugeordnet werden - es ist nur lesbar
Ich wusste, dass die Eigenschaft OnlineUsers
read only
war, aber in C# 6 kann ich es über Konstruktor zuweisen. Also, was vermisse ich?
Das Problem auch C# 1.0 weiter passiert in würde (Generika beiseite), nur mit unterschiedlicher Syntax für die online erklärt –
@ MartinCapodici: Dann müsste es ein Feld und keine Eigenschaft sein, denn Sie könnten keine "Nur-Lese-Eigenschaft, die Sie auch zuweisen können", die in C# 6 hinzugefügt wurden. –
Matti, das ist wahr, ich war Denken an ein Feld mit einer Eigenschaft eingewickelt, um den gleichen Effekt zu erzielen. –