title: OO Design - do you use public properties or private fields internally?
body: <p>I'm working in C# 2.0, but this would apply to most object oriented languages. When I create classes with public properties that wrap private fields, I switch back &amp; forth between whether I should use the property or field internally. Of course C# 3.0 makes this easier with auto-properties, but it could still apply.</p>
  
  <p>Does it matter?</p>
  
  <pre><code>public class Person
  {
      private string _name = "";
  
      public string Name
      {
          get { return _name; }
          set { _name = value; }
      }
  
      public Person(string name)
      {
          _name = name; //should I use the property or field here?
      }
  }
  </code></pre>