title: If I want to force users deriving an Interface to implement a private method/property, is there some trick?
body: <p>If I want to force users deriving an Interface to implement a private method, is there some trick?</p>
  
  <p>It seems as though I should be able to do something to the effect of:</p>
  
  <pre><code>namespace cc
  {
      interface Icd
      {
          int one { get; private set; }
          int two { get; private set; }
      }
  }
  </code></pre>
  
  <p>I understand why this won't work, an interface after all is the guaranteed public front end for objects derived from it, however, there must be a way to force coders implementing my interface to have to implement the setter privately.</p>
  
  <p>Would an abstract class work in this case? I don't want to define code, just force whoever implements my interface to implement a private setter for properties.</p>
  
  <p><strong>Edit:</strong> Yes, this is C# :-)</p>