title: Auto-implemented property in VB.NET with a protected setter?
body: <p>So far I had a read-only property in VB.NET as </p>
  
  <pre><code>Public ReadOnly Property Username() As String
  </code></pre>
  
  <p>Now I need to make changes to my code as the setter to this property needs to be protected. In C# I would have done:</p>
  
  <pre><code>public string Username {get; protected set;}
  </code></pre>
  
  <p>But I can't find such a short hand and good-looking solution in VB.NET. Does VB.NET provide that and I am unaware of this? Or do I have to write so much code and make it look little uglier?</p>
  
  <pre><code>Public Property Username() As String
      Get
          Return m_Username
      End Get
      Protected Set
          m_Username = Value
      End Set
  End Property
  Private m_Username As String
  </code></pre>
  
  <p>It's going to make my class so dirty if I had 20 properties and set them like this.</p>