title: static property in c# 6
body: <p>I'm writing a small code to more understand about <code>property</code> and <code>static property</code>. Like these:</p>
  
  <pre><code>class UserIdentity
  {
      public static IDictionary&lt;string, DateTime&gt; OnlineUsers { get; set; }
      public UserIdentity()
      {
          OnlineUsers = new Dictionary&lt;string, DateTime&gt;();
      }
  }
  </code></pre>
  
  <p>or</p>
  
  <pre><code>class UserIdentity
  {
      public IDictionary&lt;string, DateTime&gt; OnlineUsers { get; }
      public UserIdentity()
      {
          OnlineUsers = new Dictionary&lt;string, DateTime&gt;();
      }
  }
  </code></pre>
  
  <p>Since I changed it to:</p>
  
  <pre><code>class UserIdentity
  {
      public static IDictionary&lt;string, DateTime&gt; OnlineUsers { get; }
      public UserIdentity()
      {
          OnlineUsers = new Dictionary&lt;string, DateTime&gt;();
      }
  }
  </code></pre>
  
  <p>it gave me error message:</p>
  
  <blockquote>
    <p>Property or indexer 'UserIdentity.OnlineUsers' cannot be assigned to -- it is read only</p>
  </blockquote>
  
  <p>I knew the property <code>OnlineUsers</code> was <code>read only</code>, but in C# 6, I can assign it via constructor. So, what am I missing?</p>