title: provide a non-trivial setter for an interface property, but not a getter
body: <p>For a Unity3d game I'm working on, I have a situation where I want a read/writeable property with a trivial getter, but a setter which does some more work. My code looks like this:</p>
  
  <pre><code>// IColor.cs
  interface IColor {
      Color colorPainted { get; set; }
  }
  
  // Player.cs
  public class Player : Monobehaviour, IColor {
      // ...
      public Color colorPainted {
          get { }
          set {
              colorPainted = value;
              // some other code
          }
       // ...
      }
  }
  </code></pre>
  
  <p>I'm not sure what to do about the <code>get</code> part, though. I can't <code>return colorPainted;</code>, because that causes a stack overflow. The code as written won't compile because I'm not returning a value.</p>
  
  <p>I'm no C# wizard, but it seems like I'd need to have a <code>_colorPainted</code> backing variable, and provide access to that through the <code>get</code> and <code>set</code>. This seems kinda verbose, though -- is there a better way to do it? In Objective-C, I'd simply leave the getter unimplemented, but that doesn't seem to work.</p>