title: Property name in getter/setter
body: <p>I am creating some properties and came across a scenario I haven't seen before.</p>
  
  <p>Consider</p>
  
  <pre><code>private double _temperature;
  private double _maxTemp;
  
  public double Temperature
  {
      get { return _temperature; }
      set { _temperature = value; }
  }
  public double MaxTemp
  {
      get { return _maxTemp; }
      set { _maxTemp = value; }
  }
  public bool IsTempToHigh
  {
      get
      {
          if (_temperature &lt; _maxTemp)
              return true;
          else
              return false;
      }
  }
  </code></pre>
  
  <p>No problem here but I have a lot of properties in this fashion and I rewrote it into this:</p>
  
  <pre><code>public double Temperature { get; set; }
  public double MaxTemp { get; set; }
  public bool IsTempToHigh
  {
      get
      {
          if (Temperature &lt; MaxTemp)
              return true;
          else
              return false;
      }
  }
  </code></pre>
  
  <p>Quite a bit cleaner in my opinion and it seems to works just as fine. However, I nerver seen or noticed anyone using the property names directly in gettes (or setters), so is it safe to use or might there be any pitfalls.</p>
  
  <p>Also why does this compile but gives an StackOverflowException:</p>
  
  <pre><code>public double Value
  {
      get { return Value; }
      set { Value = value; }
  }
  </code></pre>