title: C# allow public incrementation of property, but not explicit seting
body: <p>What I want to do is allow the public incrementation of an integer value within my class, <em>but not allow it to be publicly set explicitly</em>. </p>
  
  <p>I know that I can create a function like this:</p>
  
  <pre><code>void IncrementMyProperty()
  </code></pre>
  
  <p>but I'd like to allow the user to just do this:</p>
  
  <pre><code>MyClass.Property++;
  </code></pre>
  
  <p>without allowing this:</p>
  
  <pre><code>MyClass.Property = &lt;SomeInt&gt;;
  </code></pre>
  
  <p>It's merely for convenience. I'm just wondering if there is any way to do it.</p>
  
  <hr>
  
  <p>Here's an example:</p>
  
  <pre><code>class MyClass
  {
      private int _count;
  
      public int Count
      {
          get { return _count; }
          private set { _count = value; }
      }
  
      public void AddOne()
      {
          _count++;
      }
  }
  
  class Program
  {
      static void Main()
      {
          MyClass example;
  
          for (int i = 0; i &lt; 10; i++)
              example.Count++;
      }
  }
  </code></pre>
  
  <p>Obviously this won't compile. It's just to show what I'd like to do.</p>